用C語言進行順序表的實現

2021-08-04 11:11:51 字數 2459 閱讀 3267

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