对线性表L=(a1...an)
(1)如L为顺序表,请设计算法将L就地逆置。
(2)若L为带头结点的单链表,设计算法将L就地逆置
(1)如L为顺序表,请设计算法将L就地逆置。
(2)若L为带头结点的单链表,设计算法将L就地逆置
举一反三
- 设计一个算法将带头结点的循环双链表L的所有结点逆置。
- 下面是用c语言编写的对不带头结点的单链表进行就地逆置的算法,该算法用L返回逆置后的链表的头指针,试在空缺处填入适当的语句。 void reverse(linklist &L){ p=NULL;q=L; while(q!=null) { (1) ; q->next=p; p=q; (2) ___ ; } ( 3) _____; }
- 算法设计:(两种算法实现各10分)试分别用顺序表和单链表作为存储结构,实现将线性表(a0, a1,… , an-1)就地逆置的操作。所谓“就地”,指辅助空间应为O(1)。
- 带头结点的单链表L为空表的条件是();不带头结点的单链表L为空表的条件是();带头结点的循环单链表L为空的条件是()。
- 有一个单链表L,设计一个算法计算其中值为x的结点个数。