3题:比较依次比较各结点与待插入结点的值的大小,找到要插入的位置,让一个指针指向待插入位置的前一个结点春答尺,然后插入 *** 作就可以了。
4题:就是把一个链表中的结点依次取下来插入到另一个链表的尾部,用尾插法就可以了。
5题:另外申请一个空链表,依次取原链表的第一个节点,插入到第二个链表里,用头插法扒高插入(无论是课本上还是数据结构的参考书上都有原代码),直到将第一个链表为空。
这些最基础的东西还是自己做吧,锻炼自己的编程能力,而且印象深刻。数据结构这门课程对以后的学习是很重要的。
int main()
{
Link head//链表(不带头节乎春点)
int n
printf("输入链表的长度n: ")
scanf("%d",&n)
printf("连续输入%d个数据(以空格隔开): ",n)
head=CreateLink(n)
printf("\n原本链表的节点是: ")
DispLink(head)
LinkSort(head)
printf("\n从大到小排序之后: ")
DispLink(head)
printf("\n")
return 0
}
链表的具体存储表示为:
① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点毕手的地址(或位置)信息(称为指针(pointer)或链(link))
链式存储是最常用的存储方式岁数耐之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
以上内容参考:百度百科-单链表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)