第三天 資料結構

2021-08-15 11:41:50 字數 946 閱讀 5128

今天學了鍊錶,棧,佇列,堆。我自認為會了一點。

鍊錶:和陣列不太一樣。它的資料是不一定連續的。

遍歷元素:for(i=first[10];i!=0;i=next[i])

cout<

插入元素:next[px]=next[pa];  next[pa]=px;

刪除元素:next[pa]=next[px]; next[px]=0;

棧是像是乙個桶:先進後出。

訪問當前棧頂元素:s[top]

新的元素x入棧:++top;s[top]=x;

棧頂元素出棧:--top;

佇列是先進先出的。

訪問當前隊首元素:q[head+1];

新的元素x入佇列:++tail;q[tail]=x;

隊頭元素出佇列:++head;

普通佇列:                    環形佇列:

隊空:             head=tail;                    

隊滿:   tail=n-1;                     head=(tail+1)%n;

隊尾插入x:++tail;q[tail]=x;               tail=(tail+1)% n;

實際容量: tail-head;                    (n+tail-head)%n;

堆差不多是個完全二叉樹吧。

調整:void heapify(int x)

else 

break; }

建堆:void build()

刪除堆首元素:void delete()

} void insert(int key)

else

break; }

h[x]=key; }

但hash還沒弄懂。

而且我考試終於有分了!!! 140分。加油,努力保持

學習資料結構的第三天

順序棧特點是有棧頂指標top和棧頂指標base 棧為空時top base top base的值表示棧中當前元素個數,為零時表示為空棧 top一直在棧頂元素的上乙個位置 include include 順序棧 define maxsize 100 typedef int selemtype typed...

JAVA學習第三天 陣列

關鍵字 簡介copyofrange 陣列複製 tostring 轉換為字串 sort 排序equals 判斷是否相同 fill 填充package j2se test public class mininum int b for int i 0 i a.length i a i int math.r...

第三天學習資料結構,順序棧

include include 練習今天學習的棧 操作 順序棧 棧的top指向 最上面的元素的 上面位置,意味top 一直都是空的 define maxsize 100 typedef int iint typedef struct stack void initstack stack 初始化棧 v...