C語言實現靜態順序表

2021-08-13 11:06:47 字數 2210 閱讀 6466

靜態順序表是儲存在乙個連續的陣列中的,因此對其資料型別有乙個結構體宣告。

//尾插

void

seqpushback(seqlist* pseq, datatype x)

pseq->_a[pseq->_size++] = x;

}//尾刪

void

seqpopback(seqlist* pseq)

//頭插

void seqpushfront(seqlist* pseq, datatype x)

end = pseq->_size - 1;

while (end>=0)

pseq->_a[0] = x;

pseq->_size++;

}//頭刪

//任意位置的插入

void seqinsert(seqlist* pseq, size_t pos, datatype x)

if (pos >= pseq->_size)

end = pseq->_size - 1;

while (end >= (int)pos)

pseq->_a[pos] = x;

pseq->_size++;

}//任意位置的刪除

void seqerase(seqlist* pseq, size_t pos)

begin = pos;

while (begin

<= pseq->_size)

pseq->_size--;

}

//查詢x  找到返回下標  未找到返回-1

int seqfind(seqlist pseq, datatype x)

begin++;

}return -1;

}

//修改

void seqat(seqlist* pseq, size_t pos, datatype x)

pseq->_a[pos] = x;

}

//從小到大排序

//使用冒泡法排序

void bubblesort(seqlist* pseq)

begin++;

}finish--;

}}//資料交換

const void swap(datatype *d1, datatype *d2)

//從大到小排序

//使用二元選擇排序方式

void selectsort(seqlist* pseq)

if (pseq->_a[i] > pseq->_a[max])

i++;

}swap(&pseq->_a[begin], &pseq->_a[max]);

if (min == begin)

min = max;

swap(&pseq->_a[end], &pseq->_a[min]);

begin++;

end--;}}

//二分法查詢

int _binarysearch(datatype* a, int begin, int end, datatype x)

else

if (a[mid] > x)

else

}int binarysearch(seqlist* pseq, datatype x)

c語言實現靜態順序表

標頭檔案如下 ifndef s l define s l include include include pragma warning disable 4996 define max size 10 typedef int datatype typedef struct seqlist seqlis...

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...