问题详情

答题翼 > 问答 > 大学专科 > 正文
目录: 标题| 题干| 答案| 搜索| 相关

在一个非递减有序的线性表中 插入一个值为x的元素 使插入后的线性表仍为非递减有序表 用带头结点的单链表编


在一个非递减有序的线性表中,插入一个值为x的元素,使插入后的线性表仍为非递减有序表,用带头结点的单链表编写算法。

算法实现的思路为:在有序单链表中插入一个数据元素x,首先要找到该元素应该插入到什么位置,才能保证插入后的单链表仍为有序表。因此,算法的第一步是寻找x的位置:设置指针p、q,最初p指向头结点,q指向头结点的下一个结点,比较q所指数据域的值与x的大小,如果小于x,则p、q分别向后移动一个位置,使p始终作为q的前驱结点,然后重复上面的比较过程;如果比较结果大于x或是比较到最后单链表结束了,则找到了插入位置,在p与q之间插入结点x即可。算法的具体实现如下:

参考答案
您可能感兴趣的试题