《資料結構 演算法與應用》第五章42題

2021-10-03 20:43:46 字數 2465 閱讀 5333

#ifndef insert_h_included

#define insert_h_included

#include

#include

#include

using

namespace std;

class

arraylist

arraylist

(int

* num,

int listsize,

int numofm);~

arraylist()

void

debug()

;void

insert_1

(int i_num,

int index,

int data)

;void

show_list()

;protected

:int

* element;

int* front_1;

int* last_1;

int list_length;

int list_num;};

arraylist::

arraylist

(int

* num,

int listsize,

int numofm)

:element

(num)

,list_length

(listsize)

,list_num

(numofm)

else}}

void arraylist::

debug()

cout<}void arraylist::

insert_1

(int i_num,

int index,

int data)

cout<<

"最大空間數為:"

"確定唯一陣列並插入資料:"

int i=

0;i++i)

if(last_1[i_num]

==front_1[i_num]

)for

(int l=

0;l-(front_1[i_num]

+index+1)

+1;++l)

//再向右複製挪動i陣列index右側的剩餘元素

element[last_1[i_num]+1

-l]=element[last_1[i_num]

-l];

element[front_1[i_num]

+index+1]

=data;

//插入元素

++last_1[i_num]

; arraylist::

debug()

; cout<<

"插入資料的剩餘空間為:\n"

;for

(int i=

0;i++i)

space[i]

=front_1[i+2]

-last_1[i+1]

;for

(int i=

0;i++i)

cout<<

"第"<1<<

"個子陣列的剩餘空間為:"

<

elseif(

(i_num-i-1)

>=

0&&space[i_num-i-1]

==space_max)

//space[0]才相當於第1個子陣列的空間,與待移陣列差了2個距離

for(

int l=

0;l++l)

//再向左複製挪動i陣列index左側的剩餘元素

element[front_1[i_num]

+l]=element[front_1[i_num]

+l+1];

--front_1[i_num]

; element[front_1[i_num]

+index+1]

=data;

//插入元素

arraylist::

debug()

; cout<<

"插入資料的剩餘空間為:\n"

;for

(int i=

0;i++i)

space[i]

=front_1[i+2]

-last_1[i+1]

;for

(int i=

0;i++i)

cout<<

"第"<1<<

"個子陣列的剩餘空間為:"

<

}}void arraylist::

show_list()

}#endif

// insert_h_included

資料結構(第五章)

樹下 第一講一.堆 什麼是堆?在講堆之前,我們先看看什麼是優先佇列。優先佇列 是一種特殊的佇列,從名稱上看,優先,顧名思義,取出的元素是按照一定的優先順序出隊的,而不是元素進入佇列的先後順序。優先佇列的完全二叉樹表示 堆的兩個特性 結構性 用陣列表示的完全二叉樹。有序性 任一結點的關鍵字是其子樹所有...

資料結構筆記 第五章

一.樹的邏輯結構 樹是乙個有限的集合,集合中的元素稱為結點。1 結點的個數為0 稱為空樹。2 結點的個數為1 此節點稱為根節點。3 節點的個數大於1 則除了根結點以外的結點又可分為多個集合,每乙個集合本身其實質上也是一棵樹,並且是根節點的子樹。二.二叉樹的邏輯結構 1 二叉樹的定義 二叉樹首先必須是...

資料結構筆記 第五章

雙親表示法 基本思想 用一維陣列來儲存樹的各個結點 一般 按層序儲存 陣列中的乙個元素對應樹中的乙個 結點,包括結點的資料資訊以及該結點的雙親在數 組中的下標 森林轉換為二叉樹 將森林中的每棵樹轉換成二叉樹 從第二棵二叉樹開始,依次把後一棵二叉樹的根 結點作為前一棵二叉樹根結點的右孩子,當所有二 叉...