之前的博文中介紹了如何使用動態陣列來實現乙個簡單的佇列,而本文中簡要介紹一下如何使用標準c來實現乙個在記憶體中物理位置不連續的鍊錶。以下分別是link.h以及link.c檔案原始碼
#ifndef __linked__h
struct node;
typedef struct node* position;
typedef struct node* list;
//指標l指向的是鍊錶的表頭
list init();
int isempty(list l);//判斷乙個鍊錶是否為空
int islast(position p,list l);//判斷乙個節點是不是鍊錶中的最後乙個節點
void delete(int x,list l);
void insert(int x,list l);
void destory(list l);//銷毀整個表
position findprevious(int x,list l);//查詢特定元素的前驅
position find(int x,list l);//查詢特定元素
void update(int x,list l,int newx);
#endif
#include"linked.h"
#include#includestruct node
;list init()
int isempty(list l)//判斷乙個鍊錶是否為空,若為空返回乙個正數,反之返回負數。
int islast(position p,list l)//判斷乙個節點是不是鍊錶中的最後乙個節點
void delete(int x,list l)
}void insert(int x,list l)//每一次插入都插入到頭節點之後
void destory(list l)//銷毀整個表
}position findprevious(int x,list l)//查詢特定元素的前驅
else
} }position find(int x,list l)//查詢特定元素
else
} }void update(int x,list l,int newx)
資料結構和演算法 Day 2
演算法的五個基本特徵 輸入 輸出 有窮性 確定性 可行性。1 輸入 演算法具有零個或多個輸入。2 輸出 演算法至少有乙個或多個輸出。3 有窮性 指演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈。4 確定性 演算法的每乙個步驟都具有確定的含義,不會出現二義性。5 可行性 演算法的每一步都必須是...
實訓複習day2
buff 5 0 1 定義的時候直接初始化 2 定義的時候通過手動輸入 鍵盤輸入 for i 0 i 10,i 如何訪問陣列內容 for i 0 i 10,i int a char buff 10 nihao char buff 10 char buff 10 sizeof 所資料型別有空間的大小 ...
Mysql資料庫複習Day2
員工試用期6個月,轉正後月薪上調20 請查詢出所有員工工作第一年的年薪所得 不考慮獎金部分,年薪的試用期6個月的月薪 轉正後6個月的月薪 select empno 員工編號 ename 員工姓名 job 員工工作 sal6 sal 1 0.2 6 年薪 from emp 1空值null的問題 注意 ...