【摘要】:定义cp是访问链表当前结点的指针变量,插入一个新结点时,cp总是从链表头开始查找插入位置。当插入的结点作为链表的首结点时,程序对其进行专门处理。如果函数返回一个NULL指针,则表明内存分配没有成功,需要进行错误处理。
10.1.5 链表应用程序举例
例10-1 使用单向链表,将一个数组的各个元素插入到链表中,并以升序排列。
定义cp是访问链表当前结点的指针变量,插入一个新结点时,cp总是从链表头开始查找插入位置。当插入的元素值大于当前结点值,而小于当前结点的下一个结点的数据值(用cp−>next−>info表示)时,将新结点插入在当前访问结点的后面;否则,向后移动链表的当前访问结点的指针(cp),继续查找插入位置。当插入的结点作为链表的首结点时,程序对其进行专门处理。
参考程序为
运行结果:
17
25
35
46
54
66
78
80
常见的编程错误10.1
●没有检查由malloc和realloc函数提供的返回代码。如果函数返回一个NULL指针,则表明内存分配没有成功,需要进行错误处理。
●从动态创建的栈、队列和链表添加或删除结构时,没有正确地更新相关的指针。
●在空间不再需要时,没有释放动态分配的存储空间。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。