資料結構線性表 靜態順序表的實現

2021-07-09 12:53:24 字數 2060 閱讀 4174

本文主要實現靜態順序表基本功能:初始化、插入(頭插、尾插、任意位置插入)、刪除(頭刪、尾刪、任意位置刪除,刪除指定元素、刪除所有指定元素)、排序(氣泡排序)、逆序、查詢(二分查詢)

//靜態順序表結構

#define max 100    //順序錶能儲存的最大數目的元素個數

typedef int datatype;

typedef  struct seqlist

seqlist,*pseqlist;

主要功能介面如下:

void initseqlist(pseqlist pseq);//初始化順序表

void printseqlist(seqlist seq);//列印順序表內容

void pushback(pseqlist pseq, datatype x);//尾部插入元素

void popback(pseqlist pseq);//尾部刪除元素

void pushfront(pseqlist pseq, datatype x);//頭插

void popfront(pseqlist pseq);//頭刪

void insert(pseqlist pseq,int pos,datatype x);//插入元素

void remove(pseqlist pseq, datatype x);//刪除指定元素

void removeall(pseqlist pseq, datatype x);//刪除順序表中所有的指定元素

int find(seqlist seq, int pos, datatype x);//按位置開始查詢元素

void reverselist(pseqlist seq);//順序表逆序

void sortseqlist(pseqlist pseq);//順序表排序

int binarysearch(pseqlist pseq,datatype x);//二分查詢

函式的實現:

void initseqlist(pseqlist pseq)

void printseqlist(seqlist seq)

}void pushback(pseqlist pseq, datatype x)

else }

void popback(pseqlist pseq)

else }

void pushfront(pseqlist pseq, datatype x)

else

pseq->list[0] = x;

pseq->size++; }}

void popfront(pseqlist pseq)

else

pseq->size--; }}

void insert(pseqlist pseq, int pos, datatype x)

else

pseq->list[pos] = x;

pseq->size++; }}

int find(seqlist seq,int pos, datatype x)

} return -1;

}void remove(pseqlist pseq, datatype x)

pseq->size--;

} else

printf("not exit\n");

}void removeall(pseqlist pseq, datatype x)

while (pos!=-1)

pseq->size--;

pos = find(*pseq, pos, x); }}

void reverselist(pseqlist pseq)

}void sortseqlist(pseqlist pseq)

} if (flag == 0)

}}int binarysearch(pseqlist pseq, datatype x)

else if (pseq->list[mid] < x)

else

return mid;

} return -1;

}

資料結構 線性表 順序表

豐富了前邊的功能,更加完善。include include define list init size 100 線性表儲存空間的初始分配量 define listincrement 10 線性表儲存空間的分配增量 using namespace std const int overflow 2 ty...

資料結構 線性表 順序表

線性表是具有相同特性的資料元素的乙個有限序列。線性表的順序儲存結構是,把線性表中的所有元素按照其邏輯順序依次儲存到從計算機儲存器中指定的儲存位置開始的一塊連續的儲存空間。include include include define maxsize 50 using namespace std 假設l...

資料結構 線性表(順序表)

順序表就是把線性表中的所有元素按照其邏輯順序,依次儲存到從指定的儲存位置開始的一塊連續的儲存空間中。這樣線性表中第乙個元素的儲存位置就是指定的儲存位置,第i 1個元素的儲存位置緊接在第i個元素的儲存位置的後面。順序表就像如下圖中的房子,每個房間左邊的數字就是該房間離0點的距離,同時也代表了房間號,房...