定長順序表的相關操作

2021-10-05 22:45:50 字數 2983 閱讀 4154

建立標頭檔案list.h

#pragma once  

//防止標頭檔案被重複使用

//標頭檔案:存放資料的定義和函式宣告

#define size 10

typedef

struct seqlist

squlist,

*pseqlist;

//typedef seqlist * pseqlist;

//初始化

//void initseqlist(seqlist *plist);

void

initseqlist

(pseqlist plist)

;//往pos位置插入資料val

bool insert

(pseqlist plist,

int val,

int pos)

;//查詢關鍵字key,找到後返回下標,失敗返回-1

intsearch

(pseqlist plist,

int key)

;//刪除plist中的第乙個key

bool deleteval

(pseqlist plist,

int key)

;//刪除plist中pos位置的值

bool deletepos

(pseqlist plist,

int pos)

;//將pos位置的值賦值成newvalue值

bool setpos

(pseqlist plist,

int pos,

int newval)

;//顯示

void

show

(pseqlist plist)

;//清空資料

void

clear

(pseqlist plist)

;//銷毀動態記憶體

void

destroy

(pseqlist plist)

;

建立list.cpp檔案

檔案:存放函式的實現

#include

"list.h"

#include

#include

#include

//判空

static

void

deternull

(pseqlist plist)

}//判滿

static bool isfull

(pseqlist plist)

return plist->length==size;

}//判空

static bool isempty

(pseqlist plist)

return plist->length==0;

}//初始化

void

initseqlist

(pseqlist plist)

plist->length=0;

//有效資料個數置0

}//往pos位置插入資料val

bool insert

(pseqlist plist,

int val,

int pos)

//移動資料

for(

int i=plist->length-

1;i>=pos;i--

)//插入資料

plist->elem[pos]

=val;

//增加有效資料個數

plist->length++

;return true;

}//查詢關鍵字key,找到後返回下標,失敗返回-1

intsearch

(pseqlist plist,

int key)

}return-1

;}//刪除plist中的第乙個key,使用search函式

bool deleteval

(pseqlist plist,

int key)

//刪除plist中的第乙個key,不使用search函式

bool deleteval

(pseqlist plist,

int key)

//刪除第乙個key,後面的數字依次前移

for(

int i=

0;ilength-

1;i++)}

return false;

}//刪除plist中pos位置的值

bool deletepos

(pseqlist plist,

int pos)

//後面的資料往前移

for(

int i=pos;ilength-

1;i++

)//有限資料個數-1

plist->length--

;return true;

}//將pos位置的值賦值成newvalue值

bool setpos

(pseqlist plist,

int pos,

int newval)

plist->elem[pos]

=newval;

return true;

}//顯示

void

show

(pseqlist plist)

printf

("\n");

}//清空資料

void

clear

(pseqlist plist)

//銷毀動態記憶體

void

destroy

(pseqlist plist)

小知識:

資料結構:線性表(鍊錶,順序表),樹形結構(二叉樹),網狀結構

演算法:排序,查詢,動態記憶體管理

資料儲存方式:順序儲存(邏輯相鄰,物理也相鄰),鏈式儲存(邏輯儲存,物理不一定相鄰)

不定長順序表的基本操作

sqelist.h函式宣告 void init list p static intfull list p void resize list p void insert back list p,elem type val int insert pos list p,int pos,elem type ...

定長順序串的基本操作

定長順序串採用的是陣列方法進行儲存,空間分配一次完成,可以實行如下的基本操作 include include using namespace std define maxstrlen 200 define true 1 define false 0 define ok 1 define error ...

資料結構,定長順序表

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