資料結構c語言實現順序表基本操作
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
#define ElemType int
typedef struct{
ElemType Data[MAXSIZE];
int length;
}seqList;
void initList(seqList *L){
L->length = 0;
}
int insertList(seqList *L,int pos,ElemType ele){
int i;
if(pos<0||pos>=MAXSIZE){
return 0;
}
else{
for(i=L->length;i>=pos;i--){
L->Data[i+1]=L->Data[i];
}
L->Data[pos] = ele;
L->length++;
return 1;
}
}
int getElem(seqList L,int pos){
int i;
if(pos<0||pos>=L.length){
return 0;
}
else{
return L.Data[pos];
}
}
int DeleteList(seqList *L,int pos){
int i;
if(pos<0||pos>=MAXSIZE){
return 0;
}
else{
for(i=pos;i<L->length;i++){
L->Data[i-1] = L->Data[i];
}
L->length--;
return 1;
}
}
int isEmpty(seqList L){
if(L.length==0){
return 1;
}
else{
return 0;
}
}
int LocateElem(seqList *L,ElemType ele){
int i;
for(i=0;i<L->length;i++){
if(L->Data[i]==ele)
return i;
}
return -1;
}
int printList(seqList *L){
int i;
for(i=0;i<L->length;i++){
printf("%d ",L->Data[i]);
}
}
int main(){
seqList L;
char c;
printf("===========請輸入您的選擇=============\n");
printf("1.初始化順序表\t\t 2.新增元素\t\t 3.刪除元素\n");
printf("4.列印元素\t\t 5.查詢元素位置\t\t #.退出\n");
while(scanf("%c",&c)!='#'){
getchar();
if(c=='1'){
initList(&L);
printf("初始化成功\n");
}
else if(c=='2'){
int ele;
char d;
int i=0;
printf("請輸入您要新增的元素:\n");
scanf("%d",&ele);
insertList(&L,i,ele);
i++;
printf("是否停止新增元素n/y:\n");
getchar();
d=getchar();
while(d=='n'){
scanf("%d",&ele);
getchar();
insertList(&L,i,ele);
i++;
printf("是否停止新增元素n/y:\n");
d=getchar();
}
getchar();
}
else if(c=='3'){
int pos;
char d;
printf("請輸入您要刪除的位置:\n");
scanf("%d",&pos);
DeleteList(&L,pos);
printf("是否停止刪除N/Y:\n");
getchar();
while(scanf("%c",&d)=='n'){
getchar();
scanf("%d",&pos);
DeleteList(&L,pos);
printf("是否停止刪除n/y:\n");
}
getchar();
printf("請輸入您的選擇:\n");
}
else if(c=='4'){
printList(&L);
getchar();
}
else if(c=='5'){
int quele;
printf("請輸入您要查詢的元素:\n");
scanf("%d",&quele);
int a = LocateElem(&L,quele);
printf("%d\n",a);
getchar();
}
else if(c=='#'){
break;
}
else{
printf("請輸入合法的選擇:\n");
getchar();
}
}
}
相關文章
- 順序表的基本方法實現C語言版C語言
- 資料結構 順序棧(c語言)資料結構C語言
- 線性表-順序表C語言實現C語言
- 資料結構_順序表_順序表的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- c語言資料結構,你可能還不知道的順序表C語言資料結構
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- 資料結構:線性表(Python實現基本操作)資料結構Python
- 南郵資料結構實驗1.1:順序表的相關操作資料結構
- 資料結構 - 線性表 - 順序表資料結構
- C語言資料結構:順序棧的建立、出入棧,以及使用順序棧實現十進位制轉十六進位制C語言資料結構
- python實現基本資料結構第二篇(順序棧、鏈棧,順序隊、鏈隊)Python資料結構
- 具體實現程式碼@資料結構探險——順序表資料結構
- 【資料結構】用C語言實現單連結串列及其常見操作資料結構C語言
- 資料結構雜湊表(c語言)資料結構C語言
- 實驗二:順序表的基本操作實現及其應用
- 考研資料結構-線性表-順序表資料結構
- 基礎資料結構(一)---(最全)定長順序表的實現資料結構
- @資料結構C/C++版(5)《棧的順序儲存結構以及進棧和出棧操作的實現》資料結構C++
- 用c語言實現資料結構——單連結串列C語言資料結構
- 資料結構——單連結串列介面實現(C語言)資料結構C語言
- 【資料結構】迴圈佇列 C語言實現資料結構佇列C語言
- 資料結構初階--二叉樹介紹(基本性質+堆實現順序結構)資料結構二叉樹
- c語言順序棧常規插入刪除操作C語言
- 資料結構練習題(順序表和單連結串列)C++資料結構C++
- 洛谷題單入門1順序結構(C語言版)C語言
- c運算子優先順序表-最全c語言運算子優先順序和結合性對照表C語言
- 資料結構與演算法 | 線性表 —— 順序表資料結構演算法
- C#資料結構-二叉樹-順序儲存結構C#資料結構二叉樹
- C語言資料結構:雙向連結串列的增刪操作C語言資料結構
- C++順序結構(3)、資料型別_____教學C++資料型別
- python演算法與資料結構-順序表(37)Python演算法資料結構
- C++資料結構連結串列的基本操作C++資料結構
- C 語言運算子優先順序
- C語言運算子優先順序C語言
- 順序表的實現
- Java實現順序表Java
- Oracle 操作表結構基本語法及示例Oracle
- 04C++順序結構(3)C++