標頭檔案如下:
#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...