動態順序表

2021-07-03 11:46:34 字數 2698 閱讀 1902

#ifndef __seqlist_h__

#define __seqlist_h__

#define capacity 3

typedef struct

seqlist;

typedef enum

tag;

typedef struct

findret;

void expendseqlist(seqlist *pseq);//擴大容量為原來的2倍

void initseqlist(seqlist *pseq);//表的初始化

void printseqlist(seqlist *pseq);//輸出表裡資料

void pushback(seqlist *pseq,int x);//增加資料

void popback(seqlist *pseq);//從後往前減少資料

void pushfront(seqlist *pseq,int x);//在最前面寫入資料x

void popfront(seqlist *pseq);//刪除最前面的資料

void insert(seqlist *pseq,int index ,int x);//在index位置上插入x資料

void modifity(seqlist *pseq,int index,int x);//修改index位置的資料

void remove(seqlist *pseq,int index);//刪除index位置的資料

findret find(seqlist *pseq,int x,int index);//查詢某資料

tag erase(seqlist *pseq,int x,tag all);//刪除某資料

void bubbleseqlist(seqlist *pseq);//氣泡排序

void selectseqlist(seqlist *pseq);//選擇排序

findret binarysearch(seqlist *pseq,int x);//二分搜尋

#endif //__seqlist_h__

#include"seqlist.h"

#include#include#include#include//擴大容量為原來的2倍

void expendseqlist(seqlist *pseq)

}//表的初始化

void initseqlist(seqlist *pseq)

//輸出表裡資料

void printseqlist(seqlist *pseq)

printf("pseq->size=%d\n",pseq->size);

}//增加資料

void pushback(seqlist *pseq,int x)

//從後往前減少資料

void popback(seqlist *pseq)

pseq->size--;

}//在最前面寫入資料x

void pushfront(seqlist *pseq,int x)

pseq->array[0]=x;

pseq->size++;

}//刪除最前面的資料

void popfront(seqlist *pseq)

for(i=1;i<=pseq->size-1;i++)

pseq->size--;

}//在index位置上插入x資料

void insert(seqlist *pseq,int index ,int x)

pseq->array[index]=x;

pseq->size++;

}//修改index位置的資料

void modifity(seqlist *pseq,int index,int x)

//刪除index位置的資料

void remove(seqlist *pseq,int index)

for(i=index+1;i<=pseq->size-1;i++)

pseq->size--;

}//查詢某資料

findret find(seqlist *pseq,int x,int index)

} return ret;

}//刪除某資料

//all為false刪除資料的第一次出現,all為true,該資料被全部刪除

tag erase(seqlist *pseq,int x,tag all)

else

}return success;

}//氣泡排序

void bubbleseqlist(seqlist *pseq)

} }}//選擇排序

void selectseqlist(seqlist *pseq)

} if(k!=i)

}}//二分搜尋

動態順序表

動態順序表 引用庫函式 include include 巨集定義 define list init size 4 define list add size 2 define overflow 2 typedef int elemtype elemtype元素型別 定義結構體 typedef stru...

動態順序表

順序表是在進算計記憶體總以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用的順序儲存就稱之為順序表。順序表是將表中的節點依次存放在計算機記憶體中一組位址連續的儲存單元中。任務要求 實現乙個動態順序表 功能要求 表可以動態增長,尾插元素,尾刪元素,頭插元素,頭...

動態順序表

ifndef seqlist h define seqlist h include include includetypedef int datatype typedef struct seqlist seqlist,pseqlist void initseqlist pseqlist pseq v...