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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值