順序表是在計算機中以陣列的形式儲存的線性表,採用順序儲存結構的線性表通常稱為順序表
#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...