如以下結果:
表a中的原始資料是:1,2,3,4,5,6
若k=2;
則表a的最終資料是:5,6,1,2,3,4
線性表在處理的時候,按照陣列的形式的進行處理,因此此處用陣列的格式實現。首先先右移動一位,即最後乙個數會被覆蓋,因此先記錄下最後乙個數。這樣迴圈k次就可以了,**如下:
#include int main()
; int temp,i,k;
int len= sizeof(data)/sizeof(int);//陣列長度
printf("請輸入移動位數k=");
scanf("%d",&k);
for(int j=1;j0 ;i--)
data[0] = temp;
}for(int s= 0;s實現結果截圖:
總結:本方法沒有考慮到時間複雜度的大小,如有效率更高的解法,歡迎交流!!!
資料結構線性表 迴圈鍊錶
普通單鏈表 1 表尾的next指標指向null。2 從乙個結點出發只能找到後續的結點。迴圈單鏈表 1 表尾的next指標指向頭指標l。2 從乙個結點出發可以找到其他任何乙個結點。include include typedef struct lnodelnode,linklist 迴圈單鏈表初始化 b...
資料結構學習 將陣列的元素迴圈右移k位
晚上完成演算法實現。待續 題目 設計乙個演算法,將陣列a 0.n 1 中的元素迴圈右移k位,假設原陣列序列為a0,a1,an 2,an 1,移動後為an k,an k 1,a0,a1,an k 1。要求 只用乙個元素大小的附加儲存 元素移動或交換次數與n線性相關。例 n 10,k 3 原始陣列 0,...
資料結構 線性表 陣列實現
按照上述抽象描述,定義乙個模板類來描述上述的抽象描述。templateclass linearlist bool isempty const 判斷線性表是否為空 int length const 線性表長度 bool find int k,t x const 返回第k個元素到x中 int searc...