資料結構 順序表 將一維陣列R向左移P個位置

2021-10-09 18:18:20 字數 517 閱讀 8731

思路一:例如陣列[1,2,3,4,5],想左移動3個位置,移動之後的陣列變為[4,5,1,2,3]。這時,如果我們用a代表1,2,3,用b代表4,5。那麼就可以看成陣列[a,b]變為了陣列[b,a]。那麼問題就變成了:如何將[a,b]變為[b,a]呢?

答案就是:首先將a逆置,變為[a逆置,b],然後再將b逆置,變為[a逆置,b逆置],最後將整個陣列逆置就變為了[b,a] (這裡可能需要用到一些線性代數的知識)

思路二:借助輔助陣列temp,將陣列r中前p個元素放入temp中,隨後將後面的元素左移,最後再將temp中的p個元素放回到r陣列中

解1:

void reverse(list list,int start,int end)

//將放入輔助陣列的前p個元素重新放回到原陣列中

for (int i = 0, int j = index; j <= list->last;i++,j++)

}

資料結構一 順序表

目錄 一 順序表的建立和初始化 二 順序表元素的查詢 三 順序表元素的插入 realloc函式 四 順序表元素的刪除 練習 自存 1.陣列法 typedef structsqlist void initlist sqlist l 2.指標法 define max 100 最大儲存量 define l...

資料結構 順序表(陣列)迴圈左移

王道18頁,2010年計算機聯考真題 n n 1 個整數放到一維陣列r中,將r中儲存的順序序列迴圈左移p 0思想 動態建立大小為p的輔助陣列s,將r中前p個整數一次暫存在s中,同時將r中後n p個整數左移,然後將s中的p個數,依次放到r的後續單元中。cycleleft sqlist l,int p ...

資料結構 順序表

順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...