靜態:
seqlist.h
#pragma once//防止標頭檔案多次引用
#define max_size 100
typedef struct seqlist
seqlist;
void initseqlist(seqlist *seq);//初始化
bool insertseqlist(seqlist *seq, int pos, int val);//在 pos 位置插入 val 值
int searchseqlist(seqlist *seq, int pos, int key);//查詢 key 值
bool deletepos(seqlist *seq, int pos, int *rtv);//刪除 pos 位置的值
bool delete(seqlist *seq,int pos,int key);//刪除乙個 key 值
bool getarryelem(seqlist *seq, int pos, int *rtv);//得到pos位置的值
int getlength(seqlist *seq);//得到長度
void clear(seqlist *seq);//清空
void seqlistprint(seqlist *seq);//列印
seqlist.cpp
#include"stdafx.h"
#include"seqlist.h"
#include
#include
void initseqlist(seqlist *seq)//初始化
seq->size=0;
}static bool isfull(seqlist *seq)
bool insertseqlist(seqlist *seq,int
pos,int val)//在pos位置插入val的值
for(int i=seq->size-1;i>=pos;i--)
seq->arry[pos]=val;
seq->size++;
return true;
}int searchseqlist(seqlist *seq,int
pos,int key)//從pos位置開始,查詢等於key的值,返回其下標
for(int i=pos;i<=seq->size-1;i++)
}return -1;
}bool deletpos(seqlist *seq,int
pos,int
*rtv)//刪除pos位置的值,存放在*rtv中
*rtv=seq->arry[pos];
for(int i=pos;i<=eq->size-1;i++)
seq->size--;
return true;
}bool delet(seqlist *seq,int
pos,int
*rtv)//刪除乙個從pos位置開始等於key的值
intindex=searchseqlist(seq,pos,key);
int tmp=0;
deletpos(seq,index,&tmp);
return true;
}bool getarryelem(seqlist *seq,int
pos,int
*rtv)//得到pos位置的值
*rtv=seq->arry[pos];
return true;
}int getlength(seqlist *seq)
void clear(seqlist *seq)
void show(seqlist *seq)
for(int i=0;isize;i++)
printf("\n");
}
順序表.cpp
#include "stdafx.h"
#include "seqlist.h"
int main()
seqlistprint(&seq);
//驗證查詢函式
intindex = searchseqlist(&seq, 0, 8);
printf("index==%d\n", index);
//驗證刪除pos位置函式
int tmp = 0;
deletepos(&seq, 6, &tmp);
printf("deletedata==%d\n", tmp);
seqlistprint(&seq);
//驗證刪除key值的函式
delete(&seq, 1, 3);
seqlistprint(&seq);
//驗證得到pos位置的值
int tmp1 = 0;
getarryelem(&seq, 2, &tmp1);
printf("getdata==%d\n", tmp1);
//驗證清理
clear(&seq);
return
0;}
動態:
seqlist.h
#pragma once
#define list_init_size 10
typedef struct sqlist
sqlist;
void initlist(sqlist *l);//初始化順序表
int listlength(sqlist *l);//順序表長度
bool insert(sqlist *l, int pos, int val);//在pos位置插入val值
int search(sqlist *l, int pos, int key);//查詢 key 值
bool deletepos(sqlist *l, int pos, int *rtv);//刪除 pos 位置的值
bool delete(sqlist *l, int pos, int key);//刪除乙個 從pos位置開始的key 值
void clear(sqlist *l);
void destroy(sqlist *l);
void show(sqlist *l);
seqlist.cpp
#include "stdafx.h"
#include "seqlist.h"
#include
#include
#include
#include
void initlist(sqlist *l)//初始化
l->elem=(int
*)malloc(list_init_size*sizeof(int));
l->usedsize=0;
l->size=list_init_size;
}static bool isfull(sqlist *l)
static void inc(sqlist *l)
//在pos位置插入val值
bool insert(sqlist *l,int
pos,int val)
if(isfull(l)
for(int i=l->usedsize-1;i>=pos;i--)
l->elem[pos]=val;
l->usedsize++;
return true;
}//查詢 key 值
int search(sqlist *l, int
pos, int key)
for (int i = pos; i < l->usedsize; i++)
}return -1;
}//刪除 pos 位置的值
bool deletepos(sqlist *l, int
pos, int
*rtv)
*rtv = l->elem[pos];
for (int i = pos; i < l->usedsize - 1; i++)
l->usedsize--;
return true;
}////刪除乙個 從pos位置開始的key 值
bool delete(sqlist *l, int
pos, int key)
intindex = search(l, pos, key);
int tmp = 0;
deletepos(l, index, &tmp);
return true;
}void clear(sqlist *l)
void destroy(sqlist *l)
void show(sqlist *l)
for (int i = 0; i < l->usedsize; i++)
printf("\n");
}
順序表.cpp
#include "stdafx.h"
#include "seqlist.h"
int main()
//insert(&l, 0, 10);
show(&l);
//驗證查詢函式
int index = search(&l, 0, 8);
printf("index==%d\n", index);
//驗證刪除pos位置函式
int tmp = 0;
deletepos(&l, 6, &tmp);
printf("deletedata==%d\n", tmp);
show(&l);
//驗證刪除key值的函式
delete(&l, 1, 3);
show(&l);
//驗證清理
clear(&l);
//驗證摧毀
destroy(&l);
return
0;}
順序表的基本操作實現
順序表的基本操作實現 在複習的時候順便寫寫 基本和書上的一樣 include include define ok 1 define error 0 define status int define maxsize 10000 typedef int elemtype 對順序表的定義 typedef ...
順序表基本操作的實現
一 實驗學時 2學時 二 實驗目的 三 實驗內容 順序表的建立 取指定元素 返回指定元素位置 順序表中插入新元素 刪除指定元素操作的實現 四 主要儀器裝置及耗材 五 實驗步驟 分析問題 寫出演算法 編制程式 上機除錯 分析結果 六 程式清單 include include include 要用exi...
c 實現順序表的相關操作
myarray.件 pragma once includeusing namespace std class myarray myarray.cpp include myarray.h 預設構造 myarray myarray 有參構造 引數 陣列容量 myarray myarray int cap...