初学链表———单向链表创建

初学链表之单向链表创建

链表是由一个个节点构成的,而每一个节点都可以看成两个部分组成,分别是数据域和指针域,链表是由不是连续的地址空间组成的非线性存储结构,字面意思,他们不是一个连串的地址空间,那么我们想让他们能被顺序访问,就得用指针来分别访问他们的地址空间,这就是指针域的功能
创建结构体类型

typedef struct Link{
	int data;
	struct Link *next; 
}link;

现在初始化一个链表,里面是1-10的数值

link *newlink(){
	link *head,*end;
	head=end=(link*)malloc(sizeof(link));
	int i;
	for(i=1;i<10;i++){
		link *a=(link*)malloc(sizeof(link));
		a->data=i;
		a->next=NULL;
		end->next=a;
		end=a;
	}	 
	return head;
} 

输入语句可以写循环,也可以用一个函数来实现

void display(link *p){
	link *end =p;//让end指向头节点 
	while(end->next){
		end=end->next;
		printf("%d ",end->data);
	} 
}

最后在主函数里面这样来实现

int main(){
link *p=newlink();
display(p);	
return 0;
}

详情注释明天来补

上一篇:008-反射


下一篇:Redis数据结构及其实现