資料結構 線性表中的順序表 定長順序表

2021-10-01 22:07:55 字數 2476 閱讀 4128

順序表是在計算機記憶體中以陣列的形式儲存的線性表,線性表的順序儲存是指用一組位址連續的儲存單元依次儲存線性表中的各個元素、使得線性表中在邏輯結構上相鄰的資料元素儲存在相鄰的物理儲存單元中,即通過資料元素物理儲存的相鄰關係來反映資料元素之間邏輯上的相鄰關係,採用順序儲存結構的線性表通常稱為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中(簡單的講就是邏輯相鄰,物理關係也相鄰)

靜態順序表:

概念:

順序表的容量在靜態時期(編譯期間)確定,大小不可改變。

建立:

#define num 10

typedef struct seqlist

seqlist,*pseqlist;  // pseqlist == seqlist*

因為順序表中為多檔案包含,所以分為seqlist.h與seqlist,cpp兩種檔案型別

seqlist.h

#pragma once // 預防標頭檔案重複引用

#define num 10

typedef struct seqlist

seqlist,*pseqlist;

void initseqlist(pseqlist ps);//初始化

bool insert(pseqlist ps,int pos,int val);//在pos位置插入val

bool deletepos(pseqlist ps,int pos);//刪除pos位置

int search(pseqlist ps,int key);//查詢關鍵字key

bool deleteval(pseqlist ps,int key);//刪除關鍵字key

void clear(pseqlist ps);//清除順序表資料

bool isempty(pseqlist ps);//判斷是否為空

int getlength(pseqlist ps);//得到順序表的有效長度

void destroy(pseqlist ps);//摧毀順序表

void show(pseqlist ps);//列印順序表

seqlist.cpp

初始化:

#include "seqlist.h"

#include #include void initseqlist(pseqlist ps)

ps->length = 0;

}

在pos位置插入val:

//判滿

static bool isfull(pseqlist ps)

bool insert(pseqlist ps,int pos,int val)

i為當前未移動的下標

for(int i =ps->length-1;i>=pos;i--)

ps->elem[pos] = val;

ps->length++;

return true;

}

判斷是否為空:

bool isempty(pseqlist ps)

刪除關鍵字key:

bool deleteval(pseqlist ps,int key)

return deletepos(ps,index);

}

刪除pos位置:

bool deletepos(pseqlist ps,int pos)

for(int i=pos;ielem[i] = ps->elem[i+1];

} ps->length--;

return true;

}

查詢關鍵字key:

int search(pseqlist ps,int key)

} return -1;

}

清除順序表資料:

void clear(pseqlist ps)

得到順序表的有效長度:

int getlength(pseqlist ps)

列印順序表:

void show(pseqlist ps)

printf("\n");

}

摧毀順序表:

void destroy(pseqlist ps)

主函式:

int main()

delete(&s,0,null);

show(&s);

return 0;

}

主函式中還有其他函式未寫完。。。

資料結構線性表之定長順序表

pragma once 預防標頭檔案被重複引用 定長順序表 define size 10 typedef struct seqlist seqlist,pseqlist 44 然後我們定義將要用到的函式 void initseqlist pseqlist ps 初始化順序表 bool insert ...

資料結構,定長順序表

typedef struct seqlist 定長順序表 seqlist,pseqlist 44 初始化順序表ps void initseqlist pseqlist ps pseqlist seqlist ps length 0 有效資料個數為0 判斷順序表是否為滿 static bool isf...

線性表 定長順序串 十四

串,也就是字串,是由零個字元或多個字元組成的有限序列。記為s a1 a2 a3 an n 0 其中,s是串的名字,用單引號括起來的字串行是串的值,每乙個a都可以是字母,數字或其他字元,n是串中字元的個數,稱為串的長度,n 0時的串成為空串。需要特別指出的是,串值必須使用一對單引號括起來 c語言的串是...