DEV C 之資料結構 物理儲存結構 邏輯結構

2021-10-01 07:32:56 字數 2127 閱讀 8284

什麼是資料結構?其實我也不是很了解,剛學,感覺有總結的價值,所以才發布這篇文章。資料結構可以分很多種類,比如說string,queue(佇列),stack(棧)都能算。

其實說呢,要是自己寫個東西也不難。

下面的話是我做了乙個簡單的stack程式,自帶了清空。?1

2345

6789

1011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

class stack

void pop()

void clear()

sum=0;

}int top()

bool empty()

int size()

};這個網頁有點問題,看著就行了?1

//上面是棧,有操作top(),size(),empty(),clear(),push(),pop()

其實只要你創造乙個容器,還創造了它的各種操作方式,我認為就可以叫資料結構(個人理解)

概念現在我們說一下物理儲存結構和邏輯結構

first:物理儲存結構:

就是像我的那個stack,就是物理儲存結構。

電腦容器。

second:邏輯結構:

自己想的。

想出來的。

例子下來我們可以看看乙個例子,有關表示式:

①中綴表示式轉字尾表示式

我們平時生活中會有很多算式:就像什麼1+1的,5+5的,還有各種加減乘除。那麼我們可已把它轉換成字尾表示式。字尾表示式是一種比較一算的式子。

我們先來看第乙個例子:

首先說明下,『(』優先順序是1,『+,-』是2,『*,/』是3,『)』是4

5+10*50/(2+2)

先讀入了5

輸出:5

棧:再讀入加號,存入棧

輸出:5

棧:+讀入10,輸出10

輸出:5 10

棧:+讀入*

現在棧裡有2個運算符號。用top和進來的比較,*優先順序更高,壓棧。

輸出:5 10

棧:+*

讀入50

輸出:5 10

棧:+ *

讀入/比較,* =/,但是更早進入,輸出

連著輸出+

壓棧/讀入(

壓棧(因為有(所以不輸出

輸出:5 10 50 * +

棧: (/

讀入2輸出2

輸出:5 10 50 * + 2

棧:(/

讀入+,壓棧,因為有 ( 不做輸出運算。

輸出:5 10 50 * + 2

棧:(/+

讀入2,輸出

輸出:5 10 50 * + 2 2

棧:(/+

讀入)!!

一見到),輸出所有的在(之前的符號(『(』不輸)

輸出+輸出/

輸出:5 10 50 * + 2 2 + /

棧:輸出結果就是:5 10 50 * + 2 2 + /

那麼怎麼去計算呢

???.png

很簡單:因為我們的字尾表示式有個特性:每兩個數一計算,就這麼算。

依然是例子:

5 10 50 * + 2 2 + /

提取5存:5

提取10

存:5 10

提取50

存:5 10 50

提取*棧內提取50,pop

棧內提取10,pop

10*50=500

壓棧棧:10 500

提取+棧內提取10,500(都pop)

10+500=510

壓棧棧:510

提取2,壓棧

棧:510 2

提取2,壓棧

棧:510 2 2

提取+,提取2,2(pop)

2+2=4

壓棧棧:510 4

提取/,提取510 4

510/4=

你的答案是:

或127.5

為什麼有兩個答案呢

因為你的資料結構不同,整形會出現127

而double會出現127.5

資料結構之邏輯結構與物理結構(儲存結構)

邏輯結構 邏輯結構分為四種型別 集合結構,線性結構,樹形結構,圖形結構。所謂集合結構 表面意思,沒有什麼深刻意義,就是資料元素同屬乙個集合,單個資料元素之間沒有任何關係。如下圖所示。線性結構類似於線性關係,也就是說,線性結構中的資料元素之間是一對一的關係。注意 重點在一對一。如下圖所示。樹形結構 樹...

ORACLE 資料儲存結構之物理儲存結構

資料檔案 資料檔案是用於儲存使用者應用程式資料和oracle系統內部資料的檔案,這些檔案在作業系統中就是普通的作業系統檔案,oracle在建立表空間的同時會建立資料檔案。oracle資料庫在邏輯上由表空間組成,每個表空間可以包含乙個或多個資料檔案,乙個資料檔案只能隸屬於乙個表空間。控制檔案 控制檔案...

資料結構物理儲存方式

1 順序儲存方式 bai順序儲存方式就是在一塊連續的儲存區域乙個接著乙個的存放資料,把邏輯上相連的結點儲存在物理位置上相鄰的儲存單元裡,結點間的邏輯關係由儲存單元的鄰接掛安息來體現。順序儲存方式也稱為順序儲存結構,一般採用陣列或者結構陣列來描述。2 鏈結儲存方法 它比較靈活,其不要求邏輯上相鄰的結點...