目錄順序表樹圖
#ifndef status_h
#define status_h
#include #define true 1
#define false 0
#define ok 1
#define error 0
#ifndef overflow
#define overflow -2
#endif
#ifndef null
#define null ((void*)0)
#endif
typedef int status;
#endif
#define list_inc 10
typedef int elemtype;
//順序表結構體
typedef struct sqlist;
//順序表函式
//初始化順序表
status initlist_sq(sqlist *l);
//清空順序表
void clearlist_sq(sqlist *l);
//銷毀順序表
void destroylist_sq(sqlist *l);
//判斷是否為空
status listempty_sq(sqlist *l);
//返回表長
int listlength_sq(sqlist *l);
//用e接收表中第i個元素
status getelem_sq(sqlist *l, int i, elemtype *e);
//返回表中首個與e滿足compare關係的元素位置
int locateelem_sq(sqlist *l, elemtype e, status(compare)(elemtype, elemtype));
//返回e的前驅
status priorelem_sq(sqlist *l, elemtype cur_e, elemtype *pre_e);
//返回e的後繼
status nextelem_sq(sqlist *l, elemtype cur_e, elemtype *next_e);
//在位置i,插入e
status listinsert_sq(sqlist *l, int i, elemtype e);
//在位置i,刪除,並返回e
status listdelete_sq(sqlist *l, int i, elemtype *e);
//列印順序表
void listprint_sq(sqlist *l, void (visit)(elemtype));
#endif
#include "sqlist.h"
//初始化順序表
status initlist_sq(sqlist* l)
//清空順序表
void clearlist_sq(sqlist *l)
//銷毀順序表
void destroylist_sq(sqlist* l)
//判斷表是否為空
status listempty_sq(sqlist *l)
//返回表長
int listlength_sq(sqlist *l)
//用e接收表中第i個元素
status getelem_sq(sqlist *l, int i, elemtype *e)
//返回表中首個與e滿足compare關係的元素位置
int locateelem_sq(sqlist *l, elemtype e, status(compare)(elemtype, elemtype))
//返回e的前驅
status priorelem_sq(sqlist *l, elemtype cur_e, elemtype *pre_e)
}return false;
}//返回e的後繼
status nextelem_sq(sqlist *l, elemtype cur_e, elemtype *next_e)
return false;
}//在位置i插入e
status listinsert_sq(sqlist* l, int i, elemtype e)
q = &(*l).elem[i - 1];
for (p = &(*l).elem[(*l).length - 1]; p >= q; p--)
*(p + 1) = *p;
*q = e;
(*l).length++;
return true;
}//在位置i刪除e
status listdelete_sq(sqlist* l, int i, elemtype* e)
//列印順序表
void listprint_sq(sqlist* l, void (visit)(elemtype))
#include #include #include "sqlist.h"
#include "status.h"
status cmpgreater(elemtype a, elemtype b);
void printelem(elemtype e);
int main()
elemtype t;
for (int i = 50; i <= 100; i++)
listprint_sq(&list, printelem);
destroylist_sq(&list);
return 0;
}status cmpgreater(elemtype a, elemtype b)
void printelem(elemtype e)
資料結構 C語言 資料結構 查詢
二 查詢演算法的效能分析 三 基於線性表的查詢 四 基於樹的查詢 五 基於雜湊表的查詢 文章索引 分類typedef struct elemtype typedef struct sstable 從表中第一條 最後一條記錄開始,逐個進行記錄的關鍵字與給定值的比較,若某個記錄的關鍵字和給定值比較相等,...
C語言 資料結構
指標一維陣列 指標陣列 陣列指標 malloc函式 字元陣列 結構體聯合體 報錯問題 亂碼了,阿肆的github,這裡顯示正常,都是傳的md檔案。include include int main void ide根據檔案字尾選擇編譯器,cpp呼叫c 編譯器 c程式進行編譯是以源程式檔案為物件進行的,...
C語言資料結構
1 鍊錶的高階操作 void reverse struct node l p1 next tailp l next p1 鍊錶的反轉 2 鏈式儲存結構的棧 鏈棧 struct snode 棧的節點定義 struct stack 棧的定義 struct stack initstack 棧的初始化 bo...