c語言實現靜態順序表

2021-07-25 06:34:02 字數 2563 閱讀 7695

標頭檔案如下:

#ifndef _s_l

#define _s_l

#include #include #include #pragma warning(disable:4996)

#define max_size 10

typedef int datatype;

typedef struct seqlist

seqlist;

void initseqlist(seqlist* seq);//初始化

void destoryseqlist(seqlist* seq);//銷毀

void printseqlist(seqlist* seq);//輸出

void pushback(seqlist* seq, datatype x);//尾插

void popback(seqlist* seq);//尾刪

void pushfront(seqlist* seq, datatype x);//頭插

void popfront(seqlist* seq);//頭刪

void insert(seqlist* seq, size_t pos, datatype x); // 指定位置新增資料

int find(seqlist* seq, datatype x);//查詢資料x

int erase(seqlist* seq, size_t pos);//按位置查詢資料

void remove(seqlist* seq, datatype x);//刪除乙個資料x

void removeall(seqlist* seq, datatype x);//刪除所有x

void bubblesort(seqlist* seq);//冒泡

void selectsort(seqlist* seq);//選擇

void insertsort(seqlist* seq);//插入排序

int binaryinsert(seqlist* seq, datatype x);//二分查詢

#endif

原始檔如下:

#include "seqlist.h"

void initseqlist(seqlist* seq)//初始化

void destoryseqlist(seqlist* seq)//銷毀

void printseqlist(seqlist* seq)//輸出資料

printf("\n");

}void pushback(seqlist* seq, datatype x)//尾插

else }

void popback(seqlist* seq)//尾刪

else }

void pushfront(seqlist* seq, datatype x)//頭插

else

seq->array[0] = x;

(seq->size)++; }}

void popfront(seqlist* seq)//頭刪

else

(seq->size)--; }}

void insert(seqlist* seq, size_t pos, datatype x) // 指定位置新增資料

else

seq->array[pos] = x;

(seq->size)++; }}

int find(seqlist* seq, datatype x)//查詢資料x

} return -1;

}int erase(seqlist* seq, size_t pos)//按位置查詢資料

return -1;

}void remove(seqlist* seq, datatype x)//刪除乙個資料x

else

}else

i++;

} (seq->size)--; }}

void removeall(seqlist* seq, datatype x)//刪除所有x

else

else

}seq->size = seq->size - count; }}

void bubblesort(seqlist* seq)//氣泡排序

for (int i = 1;isize;i++)

} }}

void selectsort(seqlist* seq)//選擇排序

for (int i = 0; i < seq->size-1;i++)

}if (max!= i)

}}void insertsort(seqlist* seq)//插入排序

int j = 0;

for (int i = 1; i < seq->size; i++)

else

}seq->array[j + 1] = tmp; }}

int binaryinsert(seqlist* seq, datatype x)//二分查詢

else if (xarray[mid])

else

}return -1;

}

C語言實現靜態順序表

靜態順序表是儲存在乙個連續的陣列中的,因此對其資料型別有乙個結構體宣告。尾插 void seqpushback seqlist pseq,datatype x pseq a pseq size x 尾刪 void seqpopback seqlist pseq 頭插 void seqpushfron...

C語言實現順序表 靜態

ifndef seqlist h define seqlist h typedef int datatype define max size 10 順序表的容量,可調整 typedef struct seqlist seqlist void seqlistinit seqlist pseq 初始化 ...

用C語言實現靜態順序表

用c語言實現順序表一般有靜態和動態兩種,靜態順序表在實行的過程中是直接定義乙個陣列,用他來存放資料,資料在順序表中的儲存是連續存放的,下面我將用三個函式檔案來實現乙個簡單的順序表,並且實現增 刪 查 逆序 排序等功能 seqlist.h 函式的宣告以及標頭檔案的引用 ifndef seqlist h...