数据结构(1)-线性链表

来源:互联网 发布:手机淘宝太费流量 编辑:程序博客网 时间:2024/06/14 00:44

创建一个单向线性链表:创建的过程中首先要判断该项是不是链表的头部,是的话需要保存头部地址;在程序中还需要一个指针用来保存上一个创建的链表项,因为该项的next指针要指向紧接着创建的链表项的地址,要是不保存就会丢失;在对链表遍历的时候就需要用到head指针和各个链表项的next指针;



#include <stdio.h>

#include <stdlib.h>


#define  MAXLINE   1024


struct linklist
{
struct linklist *next;
char buf[MAXLINE];
};




int main(int argc, char **argv)
{
struct linklist *head = NULL;
struct linklist *previous_list;
struct linklist *list;
int i;


for (i = 0; i < 10;  i ++)
{
list = (struct linklist *)malloc(sizeof(struct linklist));
if (head == NULL)
{
head = list;
previous_list = list;
list->next = NULL;
sprintf(list->buf, "%c", i + '0');
continue;
}
list->next = NULL;
previous_list->next = list;
sprintf(list->buf, "%c", i + '0');
previous_list = list;

for (list = head; list != NULL; list = list->next)
{
printf("%s\n", list->buf);
}
printf("end\n");
}
0 0
原创粉丝点击