資料結構 順序列表 插入演算法

2021-10-02 08:30:59 字數 1196 閱讀 6446

關於這個,只怪自己寒假裡無法完全集中精力,看老九軍的這一節網課重複看了三天,才弄清了些東西。

對於剛開始接觸程式設計的初學者,這裡要引入乙個索引下標以及位置的概念判斷插入的索引index是否合法。

比如index是否小於0,是否超出了容器規定的最大範圍。

判斷容器內的元素是否已滿。

判斷插入的索引index是否在容器長度之內。

從下標為index的元素開始,每個元素往右移動乙個位置。

表長度length+1。(容易忘記的地方)

#pragma once

constexpr

auto max_size =

255;

//定義容器的最大容量;

#include

using

namespace std;

typedef

struct

elementtype;

//資料元素

typedef

struct

seqlist;

//定義順序列表

void

insertelement

(seqlist* seqlist,

int index, elementtype element)

//插入演算法

if(index<

0|| index>max_size -1)

if(index > seqlist-

>length)

for(

int i = seqlist-

>length -

1; i >= index; i--

) seqlist-

>datas[index]

= element;

seqlist-

>length = seqlist-

>length +1;

}void

initlist

(seqlist* seqlist, elementtype* elemarray,

int length)

//初始化

for(

int i =

0; i < length; i++)}

void

printlist

(seqlist* seqlist)

//列印結果

}

資料結構 順序表的插入演算法

順序儲存線性表的插入演算法思路 1。如果插入的位置不合理,丟擲異常 2。如果線性表的長度大於陣列的長度,則丟擲異常或動態增加容量 3。從最後乙個元素開始向前遍歷到第i個位置,分別將他們都向後移動乙個位置 4。將要插入元素填入位置i處 5。表長加1 include using namespace st...

資料結構的插入演算法

要求實現乙個插入函式,實現在鍊錶llist中的元素x之後插入乙個元素y的操作 int insertpost link linklist llist,datatype x,datatype y 其中 llist是操作的鍊錶,x是待插入元素y的前驅節點元素,y是待插入的元素 include includ...

資料結構與演算法 遞增鍊錶的插入

題目描述 給定乙個遞增整數序列和某個整數m,構造出此遞增序列對應的鍊錶,並建立以m為值的新結點插入到鍊錶中,使其結果序列依然保持遞增順序。輸入每個輸入包含乙個測試用例,第1行包含原序列長度n 任意long int範圍內的正整數 與待插入的整數m 第2行包含n個遞增的整數代表原遞增數列。輸出根據此遞增...