資料結構小結

2021-09-28 20:51:41 字數 2308 閱讀 3965

線性表1. 棧

棧的定義

typedef struct

}棧的彈出pop(st)

從棧中彈出棧頂元素的函式如下:

void pop(st)

stackst;

讀取棧頂元素top(st,x)

讀取棧頂元素而保持棧不變的函式如下:

void top(st,x)

stack *st;

elemtype *x;

判定棧是否為空sempty(st)

判定棧是否為空的函式如下:

int sempty(st)

stack *st;

取棧頂元素ptop(st)

從棧中取出棧頂元素並從棧中刪除該棧頂元素的函式如下:

elemtype ptop(st)

stack *st

佇列佇列的儲存方式

假設佇列的元素個數最大不超過整數maxsize,所有的元素都具有同一資料型別elemtype,則可用下列方式來定義佇列型別queue;

typedef struct

queue;

迴圈佇列的入隊enq(qu,x)

將整數x插入到qu佇列中的函式如下:

void enq(qu,x)

queue *qu;

elemtype x;

}迴圈佇列的出隊deq(qu,x)

乙個qu佇列的尾部元素出隊的函式如下:

void deq(qu,x)

queue *qu;

elemtype *x;

}讀取迴圈佇列的頭元素 gethead(qu,x)

讀取佇列qu的佇列頭元素的函式如下:

void gethead(qu,x)

queue *qu

elemtype *x;

煉表單鍊錶的儲存結構:

單鏈表的結點的型別node的定義如下:

typedef struct linknode

node;

這裡的elemtype可以是任何相應的資料型別如int,float或char等,在演算法中,我們規定elemtype預設是int型別。

建立乙個單鏈表

輸入一系列整數,以0標誌結束,將這些整數作為data域建立乙個單鏈表的函式如下:

void creat()

else cycle=0;

}p->next=null;

p=head;

head=head->next; /*刪除頭結點*/

free(p);

}查詢某個結點

在已建立好的單鏈表(表頭指標為head)中查詢元素值為x的函式如下:

void find(head, x)

node *head;

elemtype x;

在迴圈單鏈表中查詢某個結點的函式如下:

void find1(head,x)

node *head;

elemtype x;

}求單鏈表的長度

計算乙個已建立好的單鏈表(表頭指標為head)的結點個數的函式如下:

int length(head)

node *head;

return(n);

}求乙個迴圈單鏈表的長度的函式如下:

int length(head)

node *head;

} return(n);

}在單鏈表中插入乙個結點

在單鏈表中第ii個節點(i>=0,i=0表示插入的結點作為第乙個節點)之後插入乙個元素為

x的結點的函式如下:

void insert(head,i,x)

node *head;

int i;

elemtype x;

else

if(p!=null) /*若查詢成功,則把s 插入到其後*/

else

printf(「未找到!\n」);}}

從單鏈表中刪除乙個結點

從單鏈表中刪除乙個其值等於給定值x的結點的函式如下:

void delete(head,x)

node *head;

elemtype x;

else

if(p!=null)

else

printf(「未找到!\n」);

}}雙鏈表

雙鏈表的定義

雙鏈表中結點的型別定義為:

typedef struct linknode

{ elemtype data;

struct linknode *left , *right;

資料結構與拓撲資料結構

資料結構在gis中對於資料的採集 儲存 查詢 檢索和應用分析等操作方式有著重要的影響,一種高效率的資料結構應該具備以下幾個要求 1 組織的資料能夠表示要素之間的層次關係,便於不同資料聯絡於覆蓋 2 正確反映地理實體之間的空間排列方式和各實體之間的相互關係 3 便於訪問與檢索 4 節省儲存空間,減少資...

《資料結構》作業

本課程作業由兩部分組成。第一部分為 客觀題部分 由選擇題組成,每題1分,共15分。第二部分為 主觀題部分 由簡答題和應用題組成,共15分。作業總分30分,將作為平時成績記入課程總成績。客觀題部分 一 選擇題 每題1分,共10題 1 順序儲存結構中資料元素之間的邏輯關係是由 表示的。a.線性結構 b....

資料結構練習

華東理工大學網路學院 資料結構 ch1緒論和ch2線性表 班級學號姓名成績 一 名詞解釋 每小題2分,共10分 1.資料結構 2.線性結構 3.儲存結構 4.邏輯結構 5.非線性結構 答 1.資料結構 指的是資料之間的相互關係,即資料的組織形式。一般包括三個方面的內容 資料的邏輯結構 儲存結構和資料...