時間複雜度效率o(1) > o(logn) > o(n) > o(nlogn) > o(n^2) > o(n^3) > o(2^n) > o(n!) > o(n^n)
線性表順序儲存
// 線性表----順序儲存
#include #include #define maxsize 1024
typedef int elementtype;
typedef struct
sqlist;
sqlist * initlist(sqlist * l); // 初始化線性表(空表)
int getelem(sqlist * l, int i, elementtype * e); // 獲取線性表l第i個元素給e
int listinsert(sqlist * l, int i, elementtype e); // 插入元素
int listdelete(sqlist * l, int i, elementtype * e); // 刪除元素
int printlist(sqlist * l); // 遍歷線性表
int clearlist(sqlist * l); // 清空線性表
int destorylist(sqlist * l); // 銷毀線性表
int main()
listinsert(l, 1, 999);
listinsert(l, 2, 888);
listinsert(l, 3, 777);
printlist(l);
printf("\n清空線性表...\n");
clearlist(l);
printlist(l);
}// 初始化順序表(空表)
sqlist * initlist(sqlist * l)
return l;
} // 獲取線性表l第i個元素給e
int getelem(sqlist * l, int i, elementtype *e)
*e = l->data[i-1];
return 1;
} // 插入元素
int listinsert(sqlist * l, int i, elementtype e)
if (i<1 || i>l->length + 1)
if (i<=l->length)
} l->data[i-1] = e;
l->length++;
return 1;
}// 刪除元素
int listdelete(sqlist * l, int i, elementtype *e)
if (i<1 || i>l->length)
*e = l->data[i-1];
if (ilength)
} l->length--;
return 1;
} // 遍歷線性表
int printlist(sqlist * l)
for (int i = 0; i< l->length; i++)
} return 1;
} // 清空線性表
int clearlist(sqlist * l)
// 銷毀線性表
int destorylist(sqlist * l)
線性表順序儲存
線性表順序儲存結構的建立 插入結點 刪除結點 就地逆置。include stdio.h include malloc.h typedef struct slist,list void init list 線性表初始化 void insert list s,int p 線性表插入 void delet...
線性表順序儲存
我們來談一下線性表的順序儲存結構 圖示 1 存在唯一的開始結點 2 存在唯一的終端結點 3 除了終端結點和開始結點,其間的每乙個結點都有乙個直接前驅和乙個直接後繼 順序儲存 圖例 c 實現 include linklisthead.h void menu int main break case 2 ...
線性表的順序儲存 線性表的順序儲存結構
1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...