先建立了這三個檔案:
seqlist.h標頭檔案是用來宣告,main.cpp檔案是主函式檔案,seqlist.cpp是用來實現函式。
seqlist.h**如下:
#ifndef _seqlist_h_
#define _seqlist_h_
#include
#include
#include
#define seqlist_init_size 8
// 容量大小,可以自己設定
typedef
int elemtype;
typedef
struct seqlist
seqlist;
void
initlist
(seqlist* list)
;// 初始化線性表
void
put_end
(seqlist* list,elemtype num)
;void
show_seqlist
(seqlist* list)
;// 顯示線性表
bool listempty
(seqlist* list)
;// 判斷線性表是否為空
void
listlength
(seqlist* list)
;// 顯示線性表的元素個數
void
getelem
(seqlist* list,
int i)
;// 檢視第i個元素
void
put_front
(seqlist* list,elemtype x)
;// 從最前端插入元素
void
delect_pos
(seqlist* list,
int x)
;// 刪除x位置的值
void
listinsert
(seqlist* list,
int x,elemtype num)
;//在x位置插入元素num
void
sort_list
(seqlist* list)
;// 排序
void
reserve_list
(seqlist* list)
;// 逆置
#endif
// !_seqlist_h_
main.cpp**如下:其他功能後續加上
#include
"seqlist.h"
intmain()
switch
(select)
break
;case2:
// 顯示順序表
show_seqlist
(&mylist)
;break
;case3:
// 判斷線性表是否為空,如果為空,則返回1,不為空,返回0
printf
("%d\n"
,listempty
(&mylist));
break
;case4:
listlength
(&mylist)
;break
;case5:
if(listempty
(&mylist)
)else
break
;case6:
// 從最前面放入元素,不過一次性只能插入乙個數
printf
("請輸入你要從最前面插入的元素:");
elemtype x;
scanf_s
("%d"
,&x)
;put_front
(&mylist,x)
;break
;case7:
printf
("請輸入要刪除位置:");
scanf_s
("%d"
,&num)
;delect_pos
(&mylist, num)
;break
;case8:
printf
("請輸入要插入的元素位置和數字");
int y;
scanf_s
("%d%d"
,&y,
&num)
;getchar()
;listinsert
(&mylist,y,num)
;break
;case9:
sort_list
(&mylist)
;break
;case10:
reserve_list
(&mylist)
;break
;default
:printf
("輸入錯誤,請重新選擇:\n");
break;}
}return0;
}
seqlist.cpp**如下:
#include
"seqlist.h"
// 初始化列表
void
initlist
(seqlist* list)
// 從尾部放入資料
void
put_end
(seqlist* list,elemtype num)
else
}// 顯示順序表
void
show_seqlist
(seqlist *list)
else
}printf
("\n");
}// 判斷順序表是否為空
bool listempty
(seqlist* list)
else
}// 顯示線性表的元素個數
void
listlength
(seqlist* list)
// 檢視第i個元素
void
getelem
(seqlist* list,
int i)
else
}// 從頭部放入元素
void
put_front
(seqlist* list, elemtype x)
else
list->base[0]
= x;
} list->size++;}
// 刪除某個位置的值
void
delect_pos
(seqlist* list,
int x)
else
} list->size--;}
// 在x(0開始)位置插入num元素
void
listinsert
(seqlist* list,
int x, elemtype num)
else
list->base[x]
= num;
list->size++;}
}// 從小到大排序(氣泡排序)
void
sort_list
(seqlist* list)}}
}// 順序表的逆置
void
reserve_list
(seqlist* list)
}
C語言 鍊錶 結構體
目的 1.編寫手機 薄管理程式,用結構體實現下列功能 1 手機 薄含有姓名 宅電 手機3項內容,建立含有上述資訊的 簿。2 輸入姓名,查詢此人的號碼。3 插入某人的號碼。4 輸入姓名,刪除某人的號碼。5 將以上功能分別用子函式實現,編寫主函式,可以根據使用者的需要,呼叫相應的子函式。建議用結構體和鍊...
資料結構 順序表(C語言實現)
順序表的定義是 把線性表中所有表項按照其邏輯順序依次儲存到從計算機儲存中指定儲存位置開始的一塊連續的儲存空間中。這樣,線性表中第乙個表項的儲存位置就是被指定的儲存位置,第i個表項 2 i n 的儲存位置緊接在第i 1個表項的儲存位置的後面。假設順序表中每個表項的資料型別為t,則每個表項所占用儲存空間...
C語言實現順序表 資料結構
include include 需求,寫乙個順序線性表,儲存乙個位址位置 define list init size 100 線性表儲存空間的初始分配量 define listincrement 10 線性表儲存空間的分配增量 define true 1 define false 0 define ...