資料結構 順序表

2021-09-12 04:06:50 字數 1412 閱讀 4700

順序表是在計算機中以陣列的形式儲存的線性表,採用順序儲存結構的線性表通常稱為順序表
#include//構造乙個順序表結構體

typedef struct seqlist seqlist;

頭插 時間複雜度o(n)

在表頭插入元素value,需要將表中的元素依次向後移動一位,然後將要插入的元素value賦值給數字的首元素

void seqlistpushfront(seqlist *sl,int value)

sl->array[0] = value;

sl->size++;

}

頭刪 時間複雜度o(n)

刪除順序表中的第乙個元素,只要將順序表第二個元素開始,依次向前移動一位,覆蓋原來順序表中的第乙個元素

void seqlistpopfront(seqlist *sl,int value)

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

sl->size--;

}

中間插入

在數序表第i個位置插入元素value,首先將順序表第i個位置的元素依次向後移動乙個位置,然後將元素value插入第i個位置,先移動最後乙個元素,在移動倒數第二個,以此類推

void seqlistpushmiddle(seqlist *sl,int i,int value)

//判斷順序表是否已滿

if(sl->size ==100)

for(int k = sl->size - 1;k >= i - 1;k--)

sl->array[i-1] = value;

sl->size++;

}

中間刪除

刪除順序表第i個位置的元素,將第i個位置以後的元素依次往前移乙個位置

void seqlistdelmiddle(seqlist *sl,int i)

for(int k = i;k < sl->size;k++)

sl->size--;

}

尾插

在順序表表尾插入元素value,將元素value的值複製給順序表最後乙個元素的下乙個元素。尾插首先需要判斷順序表是否已滿

void pushback(seqlist *sl,int value)

sl->array[sl->size] = value;

sl->size++;

}

尾刪

刪除表尾怨婦,只需將元素的長度減1,類似出棧操作

void popback(seqlist *sl)

sl->size--;

}

資料結構 順序表

順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...

資料結構 順序表

順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...

資料結構順序表

include include include include include include include include include include include include include include using namespace std define maxn 100000...