日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构——第一章线性表:01线性表的逻辑结构

發布時間:2025/4/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构——第一章线性表: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线性表的逻辑结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。