一、實驗目的
1.掌握使用new運算子建立物件的方法;
2.掌握使用delete運算子釋放物件記憶體的方法;
3.掌握使用物件導向思想實現鍊錶類並對鍊錶進行操作的方法。
二、實驗內容
1.設計並編寫鍊錶類,能夠實現鍊錶的初始化(建立)、輸出釋放等功能。
三、實驗指導
(1)鍊錶由若干個結點【node類物件】構成(每個結點有data域和next域,假設每個結點的data域是乙個整數,並且沒有重複元素),那麼某個鍊錶的邏輯示意圖如下:
3 1
2 6
5 null
圖3-1 鍊錶邏輯結構示意圖
下面給出鍊錶中結點類的定義:
class node //結點類
;node::node( )
void node::setnext(node p)
int node::getd( )
node node::getnext( )
node::~node( )
;#endif
node.cpp
#include
"node.h"
#include
using
namespace std;
node::
node()
void node::
setnext
(node *p)
int node::
getd()
node::
node
(int x)
node* node::
getnext()
node::
~node()
link.h
#ifndef link_h
#define link_h
#include
#include
"node.h"
using
namespace std;
class
link
;#endif
link.cpp
#include
"link.h"
#include
"node.h"
#include
#include
using
namespace std;
link::
link()
link::
link
(int n)
}node* link::
gethead()
void link::
linkprint()
cout<}link::
~link()
}void link::
insert
(int x)
void link::
delete
(int x)
else
}void link::
connect
(link&pl)
}link::
link
(link&l)
}
main.cpp
簡單測試類中函式的正確性
#include
"link.h"
#include
"node.h"
#include
#include
using
namespace std;
intmain
(int argc,
char
** ar**)
鍊錶《Link》
鍊錶 link 使用線性表的不足之處 1.如果長度不確定,使用線性表時,會很不方便,運算效率比較低。3.當為乙個線性表分配儲存空間時,如果儲存空間滿的話,再次插入資料的話,會造成 上溢 錯誤。這上面的三個不足,在鍊錶中都可以得到解決。在鏈式儲存方式中,要求每個節點由兩部分組成 一部分用於存放資料元素...
link 鍊錶操作
link 鍊錶結構 之前是操作字串string 鍊錶 頭元素,後面乙個乙個的指向後面的元素。redis內部實現了鍊錶的結構。鍊錶的頭尾,從乙個元素找到另外的元素。鍊錶的名字也是乙個key。flushdb 則資料全部沒了。lpush keyvalue 作用 把值插入到鏈結頭部 r1 0 lpush c...
redis03 link 鍊錶操作
link 鍊錶結構 之前是操作字串string 鍊錶 頭元素,後面乙個乙個的指向後面的元素。redis內部實現了鍊錶的結構。鍊錶的頭尾,從乙個元素找到另外的元素。鍊錶的名字也是乙個key。flushdb 則資料全部沒了。lpush keyvalue 作用 把值插入到鏈結頭部 r1 0 lpush c...