#include#define true 1
#define false 0
#define ok 1
#define error 0
#define overflow -1
using namespace std;
typedef int elemtype;
typedef int status;
typedef struct lnode lnode, *linklist;
//建立單鏈表
status listcreater_l(linklist &l)
//清空單鏈表
status listclear_l(linklist &l)
//銷毀單鏈表
status listfree_l(linklist &l)
//單鏈表輸入
status listinput_l(linklist &l)
return ok;
}//單鏈表遍歷輸出
void listprint_l(linklist &l)
else cout << ' ' << curptr->data;
curptr = curptr->next;
}cout << endl;
}//單鏈表插入元素
status listinsert_l(linklist &l, int pos, elemtype e)
if (cnt < pos) return error;
tmpptr = (lnode *)malloc(sizeof(lnode));
if (!tmpptr)exit(overflow);
tmpptr->data = e;
tmpptr->next = curptr;
reerptr->next = tmpptr;
return ok;
}//單鏈表刪除元素
status listdelete_l(linklist &l, int pos, elemtype &e)
if (cnt < pos || !curptr) return error;
e = curptr->data;
reerptr->next = curptr->next;
return ok;
}//單鏈表改值
status listsetval_l(linklist &l, int pos, elemtype e)
if (cnt < pos || !curptr)return error;
curptr->data = e;
return ok;
}//單鏈表逆序
void listreverse_l(linklist &l)
}線性表元素排序 (<)
//void listsort_sq(sqlist &l)
// *(l.elem + j) = t;
// }
//}//單鏈表鎖定元素位置
int listlocate_l(linklist &l, elemtype e)
return 0;
}//判斷表空
status isempty_l(linklist &l)
//單鏈表查詢元素個數
int listcount_l(linklist &l, elemtype e)
return cnt;
}//返回表長
int listlength_l(linklist &l)
return len;
}
單鏈表ADT實現
目錄 單鏈表的定義 單鏈表的實現 鍊錶使用 linkedlist.h檔案 ifndef linkedlist h define linkedlist h include define ok 1 define error 0 typedef int elemtype typedef int statu...
單鏈表ADT模板簡單應用演算法設計 有序單鏈表的提純
問題描述 目的 使用c 模板設計單鏈表的抽象資料型別 adt 並在此基礎上,使用單鏈表adt的基本操作,設計並實現單鏈表的簡單演算法設計。內容 1 請使用模板設計單鏈表的抽象資料型別。由於該環境目前僅支援單檔案的編譯,故將所有內容都集中在乙個原始檔內。在實際的設計中,推薦將抽象類及對應的派生類分別放...
資料結構學習 單鏈表ADT(程式化)
看了一點網上的 結合自己對鍊錶的理解。將對鍊錶常用的操作集合程式化如下 include includetypedef struct node list list list add list p,int val 此處是二級指標 void list print list p list list inse...