在c語言的學習中,資料結構中的線性資料結構分為順序表和煉表,今天就簡單的實現一下靜態順序表。
首先是標頭檔案的實現:
seqlist.h#ifndef __seqlist_h__
#define __seqlist_h__
#include
#include
#include
#define max 10
typedef int datatype; //對int進行重新命名
typedef struct seqlist
seqlist, *pseqlist;
void initseqlist(pseqlist ps); //初始化函式
void pushback(pseqlist ps, datatype d); // 尾部插入函式
void popback(pseqlist ps);//尾部刪除函式
void display(const pseqlist ps); // 列印函式
void pushfront(pseqlist ps, datatype d); //頭部插入函式
void popfront(pseqlist ps); //頭部刪除函式
int find(pseqlist ps, datatype d); //查詢函式
void insert(pseqlist ps, datatype d, int pos); //指定位置插入函式,
void remove(pseqlist ps, datatype d); //刪除指定數字函式
void removeall(pseqlist ps, datatype d); //刪除指定的所有數字的函式
void reverse(pseqlist ps); //逆序函式
void sort(pseqlist ps); //排序函式
int binarysearch(pseqlist ps, datatype d); //二分查詢函式
#endif //__seqlist_h__
接下來是一些能用到的函式的實現:
seqlist.c
#include "seqlist.h"
void initseqlist(pseqlist ps) //初始化
void pushback(pseqlist ps, datatype d) //尾部插入函式
ps->data[ps->sz] = d;
ps->sz++;
}void popback(pseqlist ps) //尾部刪除函式
ps->sz--;
}void pushfront(pseqlist ps, datatype d) //頭部插入函式
for (i = ps->sz-1; i >=0; i--)
ps->data[0] = d;
ps->sz++;
}void popfront(pseqlist ps) //頭部刪除函式
for (i = 1; isz; i++)
ps->sz--;
}int find(pseqlist ps, datatype d) //查詢指定數字函式
return -1;
}void insert(pseqlist ps, datatype d, int pos) //在指定位置插入指定數字函式
for (i=ps->sz; i>pos; i--)
ps->data[pos] = d;
ps->sz++;
}void remove(pseqlist ps, datatype d) //刪除指定的數字
}void removeall(pseqlist ps, datatype d) //刪除函式
}void reverse(pseqlist ps) //逆序函式
}void sort(pseqlist ps) //排序函式}}
}int binarysearch(pseqlist ps, datatype d) //查詢函式
else if ((ps->data[mid]) >d )
else if ((ps->data[mid])mid+ 1;}}
return -1;
}void display(const pseqlist ps) //列印函式
printf("\n");
}
最後就是對所有的函式進行測試:test.c
#include "seqlist.h"
void test1()
void test2()
void test3()
else
display(&my_list);
}void test4()
void test5()
else
display(&my_list);
}int main()
以上就是我對靜態順序表的乙個簡單實現。
順序表 用c語言簡單實現順序表
test.h ifndef seplist h define seplist h include include include include define max 100 define default sz 3 當前預設有效值 define isc sz 2 動態分配預設增長個數 typedef...
用C 實現順序表
seqlist.h include include using namespace std typedef int datatype class seqlist delete array array null array newarray capacity 2 capacity private da...
用C語言實現靜態順序表
用c語言實現順序表一般有靜態和動態兩種,靜態順序表在實行的過程中是直接定義乙個陣列,用他來存放資料,資料在順序表中的儲存是連續存放的,下面我將用三個函式檔案來實現乙個簡單的順序表,並且實現增 刪 查 逆序 排序等功能 seqlist.h 函式的宣告以及標頭檔案的引用 ifndef seqlist h...