建立標頭檔案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...