基於鍊錶實現堆疊和佇列操作 C 類的繼承)

2021-10-09 05:00:25 字數 2552 閱讀 5940

首先建立節點node類

node.h

#pragma once

class

node

;

對於node類在這裡data結構最好不要使用int形擴充套件性太低,應該將其變為struct結構可以提公升**的拓展性。

然後建立list類對鍊錶操作

list.h

#pragma once

#include

"node.h"

class

list

;

list.cpp

#include

//測試**

#include

#include

"list.h"

list::

list()

void list::

apend

(int num)

else

}void list::

show()

std::cout << std::endl;}}

void list::

find_index

(int index)

std::cout << temp-

>data << std::endl;}}

}void list::

delete_index

(int index)

else

node* need_delet = temp-

>next;

//儲存刪除的節點位址

temp-

>next = need_delet-

>next;

//將index-1節點接入index+1

delete need_delet;

//刪除當前節點

length--

;//總體長度減一}}

}/** 說明按索引後插入

* index在第幾個後面插入

* num表示插入的資料

*/void list::

insert_index

(int index,

int num)

else

node* insert_node =

new node;

//為插入的節點分配空間

insert_node-

>data = num;

insert_node-

>next = temp-

>next;

temp-

>next = insert_node;

length++;}

}list::

~list()

else

delete head;

std::cout <<

"基類已經釋放"

<< std::endl;

}}

以list類作為基類進行派生得到stack和queque。

stack.h

#pragma once

#include

"list.h"

class

stack

:public list

;

stack.cpp

#include

//為測試使用

#include

"stack.h"

stack::

stack()

:list()

void stack::

pop(

int num)

else

}void stack::

push()

stack::

~stack()

queque.h

#pragma once

#include

"list.h"

class

queque

:public list

;

queque.cpp

#include

"queque.h"

queque::

queque()

queque::

~queque()

void queque::

addq

(int num)

else

}void queque::

deleteq()

下面是測試程式

test.cpp

#include

#include

"stack.h"

#include

"queque.h"

intmain()

測試結果如下:

陣列 鍊錶 堆疊和佇列

資料結構 是指相互之間存在一種或多種特定關係的資料元素的集合。聽起來是不是很抽象,簡單理解 資料結構就是描述物件間邏輯關係的學科。比如 佇列就是一種先進先出的邏輯結構,棧是一種先進後出的邏輯結構,家譜是一種樹形的邏輯結構!初學資料結構的時候很不理解為什麼有 棧 這個東西 佇列很容易理解 無論購物就餐...

陣列鍊錶堆疊和佇列

陣列鍊錶堆疊和佇列 陣列鍊錶堆疊和佇列是最基本的資料結構,任何程式都會涉及到其中的一種或多種。陣列是最最基本的資料結構,很多語言都內建支援陣列。陣列是使用一塊連續的記憶體空間儲存資料,儲存的資料的個數在分配記憶體的時候就是確定的 圖1.1包含n 個資料的陣列 訪問陣列中第 n個資料的時間花費是 o ...

堆疊鍊錶和佇列1

資料結構 是指相互之間存在一種或多種特定關係的資料元素的集合。聽起來是不是很抽象,簡單理解 資料結構就是描述物件間邏輯關係的學科。比如 佇列就是一種先進先出的邏輯結構,棧是一種先進後出的邏輯結構,家譜是一種樹形的邏輯結構!初學資料結構的時候很不理解為什麼有 棧 這個東西 佇列很容易理解 無論購物就餐...