#include
#include
#include
#include
#ifndef _list_h__
#define _list_h__
#define default 3//初始化開闢容量大小
#define int_sz 2//每次固定增容大小
typedef int datatype;
typedef struct seqlist
seqlist, *plist;
void initseqlist(plist p);//初始化
void pushback(plist p, datatype data);//尾插
void pushfront(plist p, datatype data);//頭插
void popback(plist p);//尾刪
void popfront(plist p);//頭刪
void remove(plist p, datatype data);//刪除指定元素
void removeall(plist p, datatype data);//刪除指定所有元素
void bubblesort(plist p);//排序
int search(plist p, datatype data);//查詢
void show(plist p);//全部顯示
int binarysearch(plist p, datatype d);//二分查詢
void destory(plist p);//銷毀順序表
#endif // list_h__
#define _crt_secure_no_warnings 1
#include"list.h"
void menu()
int main()
else
}break;
case
6: printf("請輸入要刪除的元素:");
scanf("%d", &data);
remove(&mylist, data);
break;
case
7: printf("請輸入要刪除的元素:");
scanf("%d", &data);
removeall(&mylist, data);
break;
case
8: bubblesort(&mylist);
break;
case
9: show(&mylist);
break;
case
10: printf("請輸入要查詢的元素:");
scanf("%d", &data);
binarysearch(&mylist, data);
case
0: destory(&mylist);
defult:
break;
}} while (input);
system("pause");
return
0;}
#define _crt_secure_no_warnings 1
#include"list.h"
void initseqlist(plist p)//初始化順序表
else
}datatype* checkcapacity(plist p)
else
}
}void pushback(plist p, datatype data)//尾插
void popback(plist p)//尾刪
else
}void pushfront(plist p, datatype data)//頭插
p->pdata[0] = data;
p->count++;
}void popfront(plist p)//頭刪
else
p->count--;
}}void show(plist p)//顯示
}int search(plist p, datatype d)//查詢
else
}}void remove(plist p, datatype d)//刪除指定元素
p->count--;
}else
}void removeall(plist p, datatype d)//刪除指定所有元素
p->count--;
}}void bubblesort(plist p)//排序}}
}int binarysearch(plist p, datatype d)
else
if (p->pdata[mid] < d)
else
}}void destory(plist p)
動態順序表c語言實現
主要操作結構體中的指標,在init函式裡對指標進行記憶體開闢,checkcapacity函式在每次插入之前檢查一遍,如果可用空間沒有了,就開闢當前最大容量的兩倍。其他操作與靜態順序表無大區別。seqlist.h pragma once define datatype int typedef stru...
C語言實現動態順序表
關鍵知識點 動態順序表的儲存是以動態陣列的方式,它比之靜態順序表,在空間的開闢上,更加的靈活。避免了靜態順序表的定長陣列儲存方式而導致空間開闢小了不夠用,開闢大了造成記憶體浪費的特點。根據實際需要,自己掌控對記憶體空間大小的分配。因而動態順序表在實際應用中更加廣泛。對順序表的主要操作 初始化順序表 ...
C語言實現順序表
標頭檔案部分 include include include typedef int datatype define maxsize 10 typedef struct seqlist seqlist 列印順序表的內容 void printseqlist seqlist seq 初始化順序表 voi...