admin管理员组

文章数量:1794759

新手学习C语言与数据结构的记录(1)

新手学习C语言与数据结构的记录(1)

关于单链表与顺序表的思考
  • 顺序表
  • 单链表

顺序表

在阅读《数据结构-用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(即在程序中接下来总共要输入的数据个数),再进行后面的操作。 这种方法虽然不能说错误,但是对于输入的人来讲并不方便,因为不少时候人们也不知道后面到底有多少变量,因此,更加合理的方式应该是设置一个终止符,以终止符判定程序是否需要结束。

本文标签: 数据结构新手语言