數據結構考研復習一


 什么是數據結構?答案眾說紛紜,有人說“數據結構是數據對象,以及存在於該對象的實例和組成實例的數據元素之間的各種聯系。這些聯系可以通過定義相關的函數來給出”,也有人說“數據結構是計算機中存儲、組織數據的方式。”

 數據結構包括數據對象在計算機中的組織方式,還與一系列加在數據對象上的操作相關聯。

 鏈表:

是一種常見而非常重要的基礎數據結構,也是實現復雜數據結構的重要手段。不按照線性的順序存儲數據,結點中保存先一個結點的地址。

鏈表可以比較靈活的進行內存動態管理,但失去了數組方便隨機存取的優點,同時空間開銷比較大

鏈表類型:單向,雙向,循環

單向:結點存放數據,下個結點的地址,head變量存放鏈表首結點地址,最后一個結點地址部分NULL

typedef struct Node *ptrtonode

struct Node{

ElementType Data;

ptrtonode next;

}

-> 左邊是結構體指針,右邊是結構體成員,因此p->next 的含義是p指針指向結構體變量的next數據域(一般該數據域存放后繼結點的地址)
p=q->next  使p指向q->next,p的值被改變,變為q->next
q->next=p 使p的值賦給q->next,q->next的值被改變,變為p
掌握基本操作:插入、刪除、遍歷
雙向鏈表:處理時要在鏈表基礎上多處理指針前列

typedef struct DNode *ptrtonode

struct Node{

ElementType Data;

ptrtonode next;ptrtonode previous;

}

鏈表逆置

List Reverse(list L)

{ptrtonode old_head,new_head,temp

old_head=L;//初始化舊表頭為L

new_head=NULL;//初始化逆轉后新表頭為空

while(old_head)//當舊表頭不為空時

{temp=old_head->next;

old_head->next=new_head;

new_head=old_head;//將當前舊表頭轉化為新表頭

old_head=temp;//更新舊表頭

}

L=new_head;

return L//更新L

}

 

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM