数据结构——第一章线性表:01线性表的逻辑结构
1.線性結構的基本特征:線性結構是一個數據元素的有序集。
(1)集合中必定存在一個唯一的“第一元素”
(2)集合中必定存在一個唯一的“最后元素”
(3)除最后一個元素外,集合中的元素均有唯一的前驅元素
(4)除最后一個元素外,集合中的元素均有唯一的后繼元素
2.抽象數據類型(ADT)線性表的定義如下:
ADT List
{
數據對象:D = {ai | ai?∈ ElemSet(元素集) , i = 1, 2,...,n,n >= 0}
(n為線性表的表長,當n = 0時線性表為空表)
數據關系:R = {<ai-1,ai>|ai-1,ai?∈ D, i = 2,...,n}
(尖括號代表數據元素具有方向性,ai-1是ai的直接前驅,ai是ai-1的直接后繼,稱i為ai在線性表中的位序)
基本操作:
(1)結構初始化操作:initList(&L)————構造一個空線性表L
(2)引用型操作:僅使用線性表不對線性表進行修改
①listEmpty(L)————判斷線性表L是否為空
?②listLength(L)————返回線性表L表長
③preElement(L, currentElem, &preElem)————將線性表L中當前元素的直接前驅元素存入preElem
④nextElement(L, currentElem, &nextElem)————將線性表L中當前元素的直接后繼元素存入nextElem
⑤getElem(L, i, &elem)————將線性表L中下標為i的元素存入elem(按下標查找)
⑥locateElem(L, elem, equal())————返回線性表L中與元素elem值相等元素的下標(按值查找)
⑦listTraverse(L, traverse())————遍歷線性表L
(3)加工型操作:對線性表進行修改
①clearList(&L)————清空線性表L
②modifyElem(&L, i, elem)————將線性表L中下標為i的元素值修改為elem
③listInsert(&L, i, elem)————在線性表L中下標i處插入元素elem
④listDelete(&L, i)————刪除線性表L中下標為i的元素
(4)結構銷毀操作:destroyList(&L)——銷毀線性表L(前提條件:存在線性表L)
} ADT List
3.有序表:若線性表中的數據元素之間可以比較,并且數據元素值在表中呈非遞增或非遞減排列,則稱該線性表為有序表。
?
轉載于:https://www.cnblogs.com/hou36/p/9869066.html
總結
以上是生活随笔為你收集整理的数据结构——第一章线性表:01线性表的逻辑结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JNI线程、Linux常用命令、权限、防
- 下一篇: CF293B Distinct Path