C語言實現順序表 靜態

2021-08-27 03:02:58 字數 2715 閱讀 1122

#ifndef seqlist_h

#define seqlist_h

typedef int datatype;

#define max_size 10 //順序表的容量,可調整

typedef struct seqlist

seqlist;

void seqlistinit(seqlist* pseq); //初始化

void seqlistpushback(seqlist* pseq, datatype data); //尾部新增

void seqlistpopback(seqlist* pseq); //尾部刪除

void seqlistpushfront(seqlist* pseq, datatype data);//頭部新增

void seqlistpopfront(seqlist* pseq); //頭部刪除

void seqlistinsert(seqlist* pseq, int pos, datatype data);//指定位置插入

void seqlisterase(seqlist* pseq, int pos); //刪除指定位置元素

void seqlistremove(seqlist* pseq, datatype data); //刪除指定元素

void seqlistremoveall(seqlist* pseq, datatype data);//刪除所有元素

int seqlistfind(seqlist* pseq, datatype data); //查詢某元素返回位置

void seqlistsize(seqlist* pseq); //檢視當前元素個數

//------------

void printlist(seqlist* pseq); //列印順序表

void bubblesort(seqlist* pseq); //氣泡排序

void selectsort(seqlist* pseq); //選擇排序

void binarysearch(seqlist* pseq, datatype data); //折半查詢

#endif /* seqlist_h */

#include 

#include "seqlist.h"

void

seqlistinit(seqlist* pseq)

}void

seqlistpushback(seqlist* pseq, datatype

data)

void

seqlistpopback(seqlist* pseq)

void

seqlistpushfront(seqlist* pseq, datatype

data)

for (int i = pseq->_size; i>0; i--)

pseq->_array[0] = data;

pseq->_size++;

}void

seqlistpopfront(seqlist* pseq)

pseq->_size--;

}void

seqlistinsert(seqlist* pseq, int pos, datatype

data)

for (int i = pseq->_size; i>pos; i--)

pseq->_array[pos] = data;

pseq->_size++;

}void

seqlisterase(seqlist* pseq, int pos)

pseq->_size--;

}}int

seqlistfind(seqlist* pseq, datatype

data)

}return -1;

}void

seqlistremove(seqlist* pseq, datatype

data)

// }

int pos = seqlistfind(pseq, data);

if (pos >=0)

}void

seqlistremoveall(seqlist* pseq, datatype

data)

}}//-----------------

void

printlist(seqlist* pseq)

printf("\n");

}void swap(datatype* p1,datatype* p2)

void

bubblesort(seqlist* pseq)}}

}void

selectsort(seqlist* pseq)}}

}void

binarysearch(seqlist* pseq, datatype

data)

else

if (data

< pseq->_array[mid])

else

}printf("can't find!\n");

}

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語言實現靜態順序表

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

用C語言實現靜態順序表

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