关于单链表与顺序表的思考
- 顺序表
- 单链表
顺序表
在阅读《数据结构-用C语言描述》这本书之前,我的脑海里并没有顺序表的概念,当然,现在虽然有了这个概念,我却也并不知道它有什么用,在我目前看来,顺序表实现的结构体并没有比数组更为方便,也没有像链表那样节省空间,但是一些前辈告诉我,在数据结构的后面几章中,对于顺序表会有更加丰富的介绍,所以在此,我先对此按表不谈。
单链表
单链表是我比较熟悉的概念,因为引领我入门的,是谭浩强的红书,在这本书里面,作者较为详细的介绍过单链表,并且写出了静态链表和动态链表的实现方法。
但是自己读书读懂了实现方法,与自己操作实现代码还是不一样的,比如,在操作中我就很容易考虑不周全
linklist*CreatlistF(int y)//头插法建表
{int i=1;
linklist*head,*p1;
head=(linklist*)malloc(LEN);
printf("请输入姓名");
scanf("%s",&head->name[20]);
printf("请输入年龄");
scanf("%d",&head->age);
head->next=NULL;
while(i<=y)
{p1=(linklist*)malloc(LEN);
printf("请输入姓名");
scanf("%s",&p1->name[20]);
printf("请输入年龄");
scanf("%d",&p1->age);
p1->next=head;
head=p1;
i++;
}
return(head);
}
这是我初次实现头插法建立链表时写出的代码,但是有一个,我当时的想法是设置一个变量y,让运行程序的人先输入y(即在程序中接下来总共要输入的数据个数),再进行后面的操作。
这种方法虽然不能说错误,但是对于输入的人来讲并不方便,因为不少时候人们也不知道后面到底有多少变量,因此,更加合理的方式应该是设置一个终止符,以终止符判定程序是否需要结束。
更多推荐
新手学习C语言与数据结构的记录(1)
发布评论