**自:
#include #includeusing namespace std;
typedef struct nodenode;
class linklist
~linklist();
bool clearsqlist();
bool isempty() ;
int length();
bool getelem(int i, int* e);
int locateelem(int e);
bool priorelem(int cur_e, int* pre_e);
bool nextelem(int cur_e, int* next_e);
bool insert(int i, int e);
bool delete(int i, int* e);
node* reverse();
private:
node* head;
};//清空函式
bool linklist::clearsqlist()
return true;
}//析構函式
linklist::~linklist()
}//獲取鍊錶長度
int linklist::length()
return len;
}//獲取指定位置元素
bool linklist::getelem(int i, int *e)
if (p == nullptr) return false;
*e = p->data;
return true;
}//查詢元素位置
int linklist::locateelem(int e)
if (p->data == e) return loc;
else return -1;
}//獲取前驅節點
bool linklist::priorelem(int cur_e, int *pre_e)
if(p->next->data == cur_e)
else return false;
}//獲取後繼節點
bool linklist::nextelem(int cur_e, int *next_e)
else
p = p->next;
}return false;
}bool linklist::insert(int i, int e)
while(p && loc < i - 1)
if(p == nullptr)
return false;
s = (node*)malloc(sizeof(node));
s->data = e;
s->next = p->next;
p->next = s;
return true;
}//刪除指定位置元素
bool linklist::delete(int i, int *e)
while( p && loc < i-1)
if(p == nullptr)
return false;
node* s;
s = p->next;
p->next = p->next->next;
*e = s->data;
delete s;
s = null;
return true;
return false;
}//反轉鍊錶
node *linklist::reverse()
head = p;
return head;
}int main()
cout << endl;
}
鍊錶C 實現
node.h 第乙個檔案 ifndef node h define node h define true 1 define false 0 define ok 1 define error 0 define null 0 define flag 1 class node endif node h l...
鍊錶c 實現
昨天把鍊錶實現 寫到 寫鍊錶收穫 裡了,今天看了看居然沒有,不知道是沒儲存還是怎麼了,沒辦法,今天就把自己的 再粘一遍吧 對了,是用vs2013編輯的 slnode.cpp include struct slnode slnode const int item,slnode nextnode nul...
C 鍊錶實現
include include include using namespace std typedef int datatype typedef struct node linknode 鍊錶初始化 初始化鍊錶頭部指標需要用二級指標或者一級指標的引用 void linklist init linkn...