單個節點標頭檔案
12#ifndef node_h
3#define node_h
45 #include6
using
namespace
std;78
class
node;
16//
得到節點資料
17int getdata();
18//
鏈結下一節點
19void setnext(node *r);
20//
得到節點的下一節點
21 node *getnext() ;
22//
列印資料
23void printdata();
24private:25
int *data;
26 node *next;
27};
2829
node::node()
3334 node::~node()
3839
#endif
煉表頭檔案
#ifndef linklist_h#define linklist_h#include
#include
"node.h
"using
namespace
std;
class
linklist
//得到元素的位置
int getelementindex(int &elem);
//得到鍊錶指定位置的元素
bool getlistelement(int index,int *elem);
//鍊錶插入
bool listinsert(int index,int &elem);
//鍊錶刪除
bool listdelete(int index,int *elem);
//列印鍊錶
void
listprint();
private
: node *list;
intlength;
};linklist::linklist()
linklist::~linklist()
delete
list;
list=null;
}bool
linklist::isempty()
else
}bool
linklist::clearlist()
node *nownode=list->getnext();
node *nextnode=list->getnext();
while(nextnode->getnext()!=null)
delete
nownode;
length=0
; list->setnext(null);
return
true;}
int linklist::getelementindex(int &elem)
}return -1;}
bool linklist::getlistelement(int index,int *elem)
node *tempnode=list;
for(int i=0;i<=index;++i)
*elem=tempnode->getdata();
return
true;}
bool linklist::listinsert(int index,int &elem)
node *temppronode=list;
for(int i=0;ii)
node *nownode=new
node();
if(nownode==null)
node *temp=temppronode->getnext();
temppronode->setnext(nownode);
nownode->setnext(temp);
nownode->setdata(elem);
++length;
return
true;}
bool linklist::listdelete(int index,int *elem)
node *temppronode=list;
for(int i=0;ii)
node *tempnode=temppronode->getnext();
temppronode->setnext(tempnode->getnext());
*elem=tempnode->getdata();
delete
tempnode;
--length;
return
true;}
void
linklist::listprint()
node *tempnode=list->getnext();
while(tempnode->getnext()!=null)
tempnode->printdata();
cout
<"
end"
<}#endif
呼叫**
#include#include#include
"linklist.h
"using
namespace
std;
intmain();
linklist *linklist=new
linklist();
for(int i=0;i<=5;++i)
linklist->listprint();
cout
<<"
getelementindex:
"intgetdata;
linklist->getlistelement(2,&getdata);
cout
<<"
getlistelement:
"intdeletedata;
linklist->listdelete(0,&deletedata);
cout
<<"
delete data:
"linklist->listprint();
delete
linklist;
linklist=null;
system(
"pause");
return0;
}
鍊錶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...