更多“将一个单链表逆序。 ”相关问题
  • 第1题:

    有一个由整数元素构成的非空单链表A,设计一个算法,将一个元素插入到单链表的指定位置pos(pos大于0,小于等于链表长度+1)


  • 第2题:

    编写算法,借助栈将一个带都节点的单链表逆置。


    void invert(linklist *L){ linklist *p=L->next,*s;// p为工作指针,指向当前元素,s为p的后继指针 L->next=null;//头结点摘下,指针域置空。算法中头指针L始终不变 while (p!=NULL) {s=p->next; // 保留后继结点的指针 p->next=L->next; // 逆置 L->next=p; p=s; // 将p指向下个待逆置结点 }}

  • 第3题:

    【论述题】假设有两个按元素值非递减次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值非递增次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。


  • 第4题:

    试设计一个结点数据类型为整型的带表头结点的有序单链表,然后设计一个算法,该算法将这个有序单链表划分成两个单链表,使得第一个单链表中包含原单链表中所有数值为奇数的结点,第二个单链表中包含原单链表中所有数值为偶数的结点,且两个单链表中结点的相对排列顺序与原单链表中相同。 【要求】要求使用原单链表的空间,表头结点可以另辟空间。 【提示】请先在自己的稿纸上作答,然后将全部答题过程及所得结果拍照,以图片形式作为附件上传。请确保照片中的字迹足够清晰、解答过程完整。


    D解析:若要删除结点需要改变尾指针的指向。

  • 第5题:

    11、为了逆序输出单链表中的结点,以下哪些算法无法实现该功能()。

    A.第一步:将单链表逆置; 第二步:输出单链表中的元素; 第三步:将单链表逆置,即恢复之前的单链表。#B.第一步:将单链表中的 元素依次放入一个数组中 第二步:逆序输出该数组中的元素。#C.可用如下代码实现: void reversePrint(Node *p//p初值为单链表第一个结点 { while(p!=NULL) { reversePrint(p->next); printf("%c ",p->data); //假设结点值为字符 }#D.算法思想: 第一步:从头到尾找到最后一个结点; 第二步:从最后一个结点向前依次输出每个结点的值。
    D