試分別以不同的儲存結構實現線性表的就地逆置演算法,即在原表的儲存空間將線性表(a1,a2,…,an)逆置為(an,an-1,…,a1)。
(1) 以一維陣列作儲存結構。
(2) 以單鏈表作儲存結構。
第一行輸入線性表元素個數elenum;(0
第二行輸入elenum個數,作為線性表中的元素(a1,a2,…,an)。
分兩行分別輸出要求(1)和要求(2
)的線性表逆置結果(an,an-1,…,a1)。
52 5 3 7 15
15 7 3 5 2
15 7 3 5 2
#include #include #include typedef struct node
node,*linklist;
void create(linklist l,int a,int n)
}void reverse(linklist l)
}void shu(linklist l)
}int main()
鍊錶就地逆置
就地逆置,就是在不借助任何中間變數的情況下,逆置一單鏈表。演算法思路 逆置後的點鍊錶初始為空,表中的節點不是新生成的,而是從原鍊錶當中一次 刪除 再逐個頭插到逆置表中。設逆置鍊錶的初始態為空表,刪除 已知鍊錶中 的第乙個節點,然後將它 插入 到逆置鍊錶的 表頭 即使得他成為逆置鍊錶中 新 的第乙個節...
順序表的就地逆置
讀入乙個順序表,實現順序表的就地逆置。輸入 先輸入乙個小於100的正整數n,再從小到大的輸入n個正整數,建立乙個順序表,然後實現順序表的就地逆置。輸出 按順序輸出逆置後的順序表的所有元素,每個元素佔一行。輸入樣例 3 300 3000 50000 輸出樣例 50000 3000 300 includ...
順序表的就地逆置
6 1 順序表建立和就地逆置 10 分 本題要求實現順序表的建立和就地逆置操作函式。l是乙個順序表,函式listcreate sq sqlist l 用於建立乙個順序表,函式listreverse sq sqlist l 是在不引入輔助陣列的前提下將順序表中的元素進行逆置,如原順序表元素依次為1,2...