線性表的順序表示的增加和刪除

2021-10-23 22:06:10 字數 955 閱讀 5601

線性表包括順序結構和鏈式結構,這裡介紹的是順序結構,為了方便就用陣列表示,其操作包括增,刪,改,查,

其中改和查用陣列的下標可以很方便的操作,增加和刪除需要一些**實現。

其中增加的是在乙個線性表插入乙個元素,這個元素必須在1~n+1之間

其核心思想是先判斷要插入的資料是否在1~n+1之間,然後把i~n之間的資料向後移動一位,

最後插入,長度增加1。

核心**如下:

for(int j=n+1; j>=i; j--)

arry[j] = arry[j-1];

刪除是刪除指定的位置刪除乙個元素,這個元素在1~n之間,其核心思想是先判斷要刪除的元素

是否在1~n之間,然後把i~n之間的元素向前移動一位,第n個元素置0,長度減1;

核心**如下:

for(int j=i+1; j<=n; j++)

arry[j-1] = arry[j];

下面是乙個完整的例子實現線性表的順序結構的增加和刪除

#include

#include

#include

#include

#define max_len 1024

#define num 3

#define success 0

#define error -1

template

int initdata(t *arry, int size)

arry[num-1] = data;

return len+1;

}//刪除1~len中第num的資料

template

int deletedata(t *arry, int len, int num)

arry[len-1] = 0;

return len-1;

}template

void datashow(t *arry, int size)

1 1 線性表的順序表示 插入刪除和動態增加

目錄 1.線性表動態增加長度 2.線性順序表的插入和刪除 定義了乙個 customer 結構型別,裡面儲存了兩個整數,分別是 num 和 people 兩個整數,每個整數佔4個位元組。順序表靜態分配 陣列 在宣告乙個順序表的時候,計算機便會在記憶體中給順序表分配它所需要的記憶體空間。包括 maxsi...

線性表的順序表示

線性表的順序表示終於馬馬虎虎的勉強寫 完了,寫的不是很完整,開始時比較不理 解就是動態分 配記憶體,現 在懂一點點了,資料結構落下很多了,這幾天要好好整了 include include includeusing namespace std define ok 1 define error 0 de...

線性表的順序表示

假設線性表的元素型別為elemtype,線性表的儲存型別為 define initsize 100 線性表的動態儲存型別 typedef struct sqlist 插入操作 在順序表l的第i個位置插入e,成功true,失敗false bool listinsert sqlist l,int i,e...