順序表(C 實現)

2021-09-07 08:51:42 字數 1591 閱讀 8786

零個或多個資料元素的有限序列。線性表是最基本、最簡單也是最常用的資料結構。

順序表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。除最後乙個元素之外其他資料元素均有唯一的後繼,除第乙個元素外,其他資料元素均有唯一的前驅。

資料元素的儲存位置滿足:loc(ai)=loc(a1)+(i-1)*l   (l表示每個元素需要占用的儲存單元)

adt list

標頭檔案:

#includeusing namespace std;

#define invalid oxff

#define list_init_size 100

typedef int elemtype;

/*typedef struct

sqlist;*/

class sqlist

;

功能檔案:

#include "head.h"

sqlist::sqlist()

sqlist::~sqlist()

bool sqlist::initlist(int *arr, int len)

length = len;

return true;

}bool sqlist::printlist()

cout << endl;

return true;

}int sqlist::length()

int sqlist::get(int i)

return data[i];

}bool sqlist::inster(int i, elemtype x) //插入的過程中注意元素移動的方向。

for (int j = length; j >= i; j--)

data[i - 1] = x;

length++;

return true;

}bool sqlist::delete(int i)

for (int j = i - 1; j < length; j++)

length--;

return true;

}

主函式: 

#include "head.h"

int main()

list.initlist(arr,num);

list.printlist();

int i, x;

cout << "請輸入要插入元素位置和元素:";

cin >>i>>x;

list.inster(i,x);

list.printlist();

cout << "請輸入要刪除元素位置";

cin >> i;

list.delete(i);

list.printlist();

system("pause");

return 0;

}

優點:

缺點:

//以上**測試環境為vs2017

順序表(C 實現)

順序表是基本的資料結構,建立seqlist類,主要包括類的預設成員函式 建構函式 析構函式 賦值運算子過載 順序表的基本功能實現。順序表 typedef int datatype class seqlist seqlist 析構函式 深拷貝 seqlist const seqlist s 拷貝建構函...

C 實現順序表

順序表 用一段位址連續的儲存單元一次儲存資料元素的線性結構。目的 比較陣列 下來用 來實現順序表的各個功能 includeusing namespace std typedef int datatype class seqlist seqlist const seqlist s 拷貝建構函式 els...

c 實現順序表

include using namespace std define max size 20 define ok 1 define error 0 typedef int status typedef int elemtype 元素型別可以改變,假定這裡為int class sqlist void ...