熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構之線性表的順序存儲[2]

2013-11-15 15:39:30  來源: 數據結構 

  在程序設計語言中一維數組在內存中占用的存儲空間就是一組連續的存儲區域因此用一維數組來表示順序表的數據存儲區域是再合適不過的考慮到線性表的運算有插入刪除等運算(即表長是不斷變化的)因此數組的容量需足夠大當然也可考慮在實際運行中動態分配內存和動態增加內存本章中暫不作考慮數組的動態分配問題當表長超過數組的容量時視為溢出

  順序表可用一維數組data[MAXSIZE]表示其中MAXSIZE是一個根據實際問題定義的足夠大的整數用一個變量 length 記錄當前線性表中元素的個數即線性表的長度同時由於順序表中的數據從 data[] 開始依次順序存放因此length表示最後一個元素的下標始終指向線性表中最後一個元素當表空時 length =我們用DataType表示線性表中數據元素的類型這種存儲思想在C語言中的定義如下

  #define MAXSIZE

  DataType data[MAXSIZE]; /*DataType可以是整型實型等數據類型*/

  int length;

  表長為length數據元素分別存放在data[]到data[length ]中MAXSIZE為最大使用內存空間length≤MAXSIZE

  我們通常將 data 和 length 封裝成一個結構作為順序表的類型

  typedef struct node {

  DataType data[MAXSIZE];

  int length;

  } SeqList;

  定義一個順序表SeqList L;

[]  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23745.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.