已知順序表l中的資料元素型別為int。設計演算法將其調整為左右兩部分,左邊的元素(即排在前面的)均為奇數,右邊所有元素(即排在後面的)均為偶數,並要求演算法的時間複雜度為o(n),空間複雜度為o(1)。
函式原型如下:
void odd_even(seqlist *l);
struct _seqlist;
typedef struct _seqlist seqlist;
#include #include #include "list.h" // 請不要刪除,否則檢查不通過
void odd_even(seqlist *l)
/*
順序表 資料調整
已知順序表l中的資料元素型別為int。
設計演算法將其調整為左右兩部分,左邊的元素(即排在前面的)均為奇數,
右邊所有元素(即排在後面的)均為偶數,
並要求演算法的時間複雜度為o(n),空間複雜度為o(1)。
*//*
演算法思路:
空間複雜度為o(1)說明只能使用乙個中間臨時變數
定義左右兩個指標,進行比較,決定是否要交換
*/#include #include //#include "list.h" // 請不要刪除,否則檢查不通過
#define elemtype int
#define maxsize 10
struct _seqlist ;
typedef struct _seqlist seqlist;
//要求左奇數右偶數
void odd_even(seqlist* l)
else
}else
}}void print(const seqlist* l)
}int main()
,4 };//測試用例
odd_even(&l);
print(&l);//列印看是否刪除成功
return 0;
}
C語言資料結構 順序表
資料結構的一些講解,供學習者參考,也順帶作為複習 線性表的順序儲存是指在記憶體中用位址連續的一塊儲存空間順序存放線性表的各元素,用這種儲存形式儲存的線性表稱為順序表。因為記憶體中的位址空間是線性的,因此,用物理上的相鄰實現資料元素之間的邏輯相鄰關係既是簡單又自然的。將資料儲存區data和指標last...
資料結構 順序表(C語言)
seqlist.h include include define maxsize 100 typedef struct seqlisttype void seqlistinit seqlisttype sl 初始化順序表 int seqlistlength seqlisttype sl 返回順序表的...
順序表 c語言資料結構
最近才學的資料結構,自己寫出來順序表求大神指點指點有沒有優化的地方 增 刪 改 查 github上有原始碼 github源 標頭檔案 pragma once include include typedef int sdatatype typedef struct seqlist seqlist 初始...