順序表應用3 元素位置互換之移位演算法

2021-07-16 04:32:07 字數 658 閱讀 4821

下面是**:

#include #include #define list_init_size 1000000

#define error 0

#define ok 1

typedef int element;

typedef struct

sqlist;

int initlist(sqlist *l)//初始化順序表

void createlist(sqlist *l,int len)//輸入順序表元素

l->length=len;//順序表長度

}void exchange(sqlist *l,int m)//移位函式

l->elem[i]=x;//將此元素置於前面

}}void display(sqlist *l)//輸出函式

}int main()

return 0;

}

此**在codeblocks環境中執行

此題目也可以用另外一種演算法,

設順序表長度為n,將前面m個元素移動到順序表的後面,然後在輸出的時候從第m+1個元素開始輸出,此演算法較為簡單實現。

順序表應用4 元素位置互換之逆置演算法

exchangelist l,0,n 1 第一次,把所有元素前後交換 exchangelist l,0,n m 1 第二次,把前面一部分的元素前後交換 exchangelist l,n m,n 1 第三次,把後面一部分的元素前後交換 for i 0 i這道題主要是通過三次交換來改變元素在順序表中的位...

順序表應用1 多餘元素刪除之移位演算法

i 每次迴圈後都要減一來保證i等於k 1 return 1 int main for i 0 i剛開始寫完後,出現了乙個錯誤,只要輸入幾個相同的數,就會輸出兩個一樣的數 應該只輸出乙個的 檢查了好長時間,原來是迴圈的過程中忘記把 i 的值減一了,導致每個數第二次的比較出現錯誤。上午聽了一上午的課,又...

順序表應用1 多餘元素刪除之移位演算法

複習上學期對於重複元素的刪除操作,還是蠻簡單的 主要是還是用陣列做習慣也順手 1 include2 using namespace std 3const int maxn 1e4 10 4 intt 5int main 6 29 j 上面有j 保持遍歷的不變性 30 m 覆蓋了之後少乙個元素31 3...