資料結構 線性表功能實現

2021-09-27 11:32:40 字數 2105 閱讀 5086

seqlist.h

#include

typedef int datatype;

typedef struct seqlist seqlist;

void seqlistinit(seqlist* sl);//初始化資料表

void seqlistdestory(seqlist* sl);//銷毀順序表

void seqlistcheckcapacity(seqlist* sl);//檢查容量

void seqlistpushback(seqlist* sl, datatype x);//尾插

void seqlistpushfront(seqlist* sl, datatype x);//頭插

void seqlistinsert(seqlist* sl, size_t pos, datatype x);//插入,pos前插入

void seqlistpopback(seqlist* sl);//尾刪

void seqlistpopfront(seqlist* sl);//頭刪

void seqlisterase(seqlist* sl,size_t pos);//任意位置刪除

size_t seqlistfind(seqlist* sl, datatype x);//查詢

size_t seqlistmodify(seqlist* sl, size_t pos, datatype x);//修改,pos修改為x

void seqlistprint(seqlist* sl);//列印

size_t seqlistsize(seqlist* sl);//當前元素的個數

datatype seqlistat(seqlist* sl, size_t pos);//pos處的元素

#include"seqlist.h"

#include"assert.h"

#include"malloc.h"

void seqlistinit(seqlist* sl) //初始化

void seqlistdestory(seqlist* sl)

}//銷毀

void seqlistcheckcapacity(seqlist* sl)

}//檢查容量

void seqlistpushback(seqlist sl, datatype x) //尾插

void seqlistpushfront(seqlist* sl, datatype x)

sl->_array[0] = x;

++sl->_size;

}//頭插

void seqlistinsert(seqlist* sl, size_t pos, datatype x)

else if (pos == sl->_size)

else

sl->_array[pos] = x;

++sl->_size;

}}//插入,pos前插入

void seqlistpopback(seqlist* sl)

--sl->_size;

}//尾刪

void seqlistpopfront(seqlist* sl)

--sl->_size;

}//頭刪

void seqlisterase(seqlist* sl, size_t pos)

while (pos < sl->_size)

--sl->_size;

}//任意位置刪除

size_t seqlistfind(seqlist* sl, datatype x)

}printf(「不存在此數.\n」);

return 0;

}//查詢

size_t seqlistmodify(seqlist* sl, size_t pos, datatype x) //修改,pos修改為x

void seqlistprint(seqlist* sl)

printf("\n");

}//列印

size_t seqlistsize(seqlist* sl);//當前元素的個數

datatype seqlistat(seqlist* sl, size_t pos);//pos處的元素

資料結構 鍊錶及鍊錶功能實現

typedef struct node listnode,linklist 舉例 1.設p指向鍊錶中結點ai 2.可呼叫c語言中malloc 函式向系統申請結點的儲存空間 linklist p p linklist malloc sizeof listnode 強制型別轉換 則建立乙個型別為link...

資料結構 線性表 陣列實現

按照上述抽象描述,定義乙個模板類來描述上述的抽象描述。templateclass linearlist bool isempty const 判斷線性表是否為空 int length const 線性表長度 bool find int k,t x const 返回第k個元素到x中 int searc...

資料結構棧 線性表實現

棧的定義 棧是一種特殊的表這種表只在表頭進行插入和刪除操作。因此,表頭對於棧來說具有特殊的意義,稱為棧頂。相應地,表尾稱為棧底。不含任何元素的棧稱為空棧。而本次給大家介紹用線性表實現的棧。如圖 這裡介紹雙向鍊錶的常用操作 l 建立棧 l 銷毀棧 l 清空棧 l 壓棧 l 出棧 l 返回棧頂元素 l ...