順序表
#pragma warning(disable:4996)
#include#include#define maxsize 100 //順序表的最大長度
typedef struct data;
typedef struct seqlisttype;
int seqlistall(seqlisttype *sl);//遍歷順序表中的內容
void seqlistinit(seqlisttype *sl);//初始化順序表
int seqlistlength(seqlisttype *sl);//長度
int seqlistadd(seqlisttype *sl, data data);//新增
int seqlistinsert(seqlisttype *sl, int n, data data);//插入
int seqlistdelete(seqlisttype *sl, int n);//刪除
data *seqlistfindbynum(seqlisttype *sl, int n);//根據序號返回元素
int seqlistfindbycont(seqlisttype *sl, char *key);//按關鍵字查詢
int main()
} else
} while (1);
printf("\n順序表中的節點順序為:\n");
seqlistall(&sl);//顯示所有節點資料
//fflush(stdin);
printf("\n要取出節點的序號:");
scanf("%d", &i);
data1 = seqlistfindbynum(&sl, i);//按序號查詢節點
if (data1)
//fflush(stdin);
printf("\n要查詢節點的關鍵字:");
scanf("%s", key);
i = seqlistfindbycont(&sl, key);//按關鍵字查詢
data1 = seqlistfindbynum(&sl, i);//按序號查詢
if (data1)
getch();
return 0;
}int seqlistall(seqlisttype *sl)
}void seqlistinit(seqlisttype *sl)
int seqlistlength(seqlisttype *sl)
int seqlistadd(seqlisttype *sl, data data)
sl->listdata[++sl->listlen] = data;
return 1;
}int seqlistinsert(seqlisttype *sl, int n, data data)
if (n<1 || n>sl->listlen - 1)
for (i = sl->listlen; i >= n; i--)
sl->listdata[n] = data;//插入節點
sl->listlen++;//順序表節點數量增加1
return 1;//返回成功插入
}int seqlistdelete(seqlisttype *sl, int n)
for (i = n; i < sl->listlen; i++)
sl->listlen--;//順序表元素數量減少1
return 1;
}data *seqlistfindbynum(seqlisttype *sl, int n)
return &(sl->listdata[n]);
}int seqlistfindbycont(seqlisttype *sl, char *key)
} return 0;
}
資料結構 順序表
順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...
資料結構 順序表
順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...
資料結構順序表
include include include include include include include include include include include include include include using namespace std define maxn 100000...