网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

创造一个链表吧-创新互联

为什么使用链表

我们在储存一大堆数的时候经常使用数组,可是数组有时候会不太灵活如:
有一列已经从小到大排好序的数字2 3 5 8 9 10 12.现在要插入6使得仍然是从小到大排列.
用数组则我们需要把8及其后面所有数字向后挪一位如下图一部分.
那么什么是链表呢?如下图二部分.三部分是链表中插入数的实现方法.在这里插入图片描述
在C语言中用指针和动态内存分配函数malloc来实现.
链表由很多结点构成,而每一个结点都由俩部分构成,左边的部分用来存储数值,右边的存储下一个结点的地址

员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供网站设计、成都网站制作、微信公众号开发、电商网站开发,小程序设计,软件按需定制网站等一站式互联网企业服务。创造一个链表

代码实现

#include#include//调用malloc函数用的头文件
struct ch
{int date ;
	struct ch *next;//因为下一个结点类型也是struct ch所以指针类型也是这个
};//创造一个结构类型来表示结点
int main()
{struct ch *head,*p,*q,*t;//p,q临时指针用来输入创造链表,t用来输出,head头指针,指向链表的第一个结点
	int i,n,a;//i,n用来循环输入,a用来暂时储存输入的数字
	scanf("%d",&n);
	head=NULL;//将头函数初始为空
	for(i=0;iscanf("%d",&a);
		p=(struct ch*)malloc(sizeof(struct ch));//将malloc类型强制转换并将p指向动态分配的内存空间地址
		p->date=a;
		p->next=NULL;//给这个结点赋值并将结点的指针部分初始为空
		if(head==NULL){	head=p;//如果这是第一个结点就让头指针指向他
		}else{	q->next=p;
		}//如果不是就让上一个结点的指针指向他
		q=p;
	}//循环n次创造一个n个结点的链表
	t=head;
	while(t!=NULL){printf("%d ",t->date);
		t=t->next;
	}
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:创造一个链表吧-创新互联
文章分享:http://bjjierui.cn/article/djpoeh.html

其他资讯