資料結構 NOJ002 線性表的就地逆置

2021-09-16 12:18:19 字數 1110 閱讀 7760

#include

#include

using

namespace std;

//一維陣列儲存

int larray[

1001];

//鏈式儲存

typedef

struct node

*lnode;

intmain()

//larray,逆序只需要交換

for(

int i=

0; i2; i++

)swap

(larray[i]

, larray[n-

1-i]);

//llink,逆序需要p、q、tmp指向連續的三個節點,不斷更新

lnode p =

null

; lnode q =

null

; lnode tmp =

null

; p = llink-

>next;

if(p) q = p-

>next;

//保證llink不為空

if(q) tmp = q-

>next;

//保證llink的節點數大於乙個

p->next =

null

;//尾節點指向空

while

(tmp)

q->next = p;

//最後乙個節點指向倒數第二個

llink-

>next = q;

//頭節點指向最後乙個節點

//輸出

for(

int i=

0; i1; i++

) cout<< larray[i]

<<

' ';

cout<< larray[n-1]

>next; tmp-

>next; tmp=tmp-

>next)

cout <>val <<

' ';

cout<< tmp-

>val

}

002資料結構練習 線性表

1.定義 線性表是n個資料元素的有限序列。資料元素性質相同,物理儲存位置相鄰 loc ai loc a1 i 1 l 2.操作 1 定義線性表 define list init size 100 初始化儲存空間大小 define increment 10 分配儲存空間增量 typedef struc...

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...

資料結構 線性表

參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...