[color=green]鍊錶:是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,
而是在每乙個節點裡存到下乙個節點的資訊(相當與c++的指標)。
鍊錶的主要操作:增,刪,查,改,其它。
1.增加乙個鍊錶元素:
/*** 加入鍊錶元素,加到尾部
*/public void add(object obj) else
last = node;
}
2.刪除乙個鍊錶元素 :
/*** 刪除第乙個出現鍊錶元素的node.obj=obj
*/public void delete(object obj)
system.out.println("node.obj= " + node.obj);
if (node == null) else else
}}
3.修改乙個鍊錶元素
/*** 修改下標的index的元素,從0開始
*/public void modify(int index, object obj)
if (node == null) else
}
4.查詢乙個鍊錶元素:
/*** 查詢第乙個出現鍊錶元素的node.obj=obj
*/public int find(object obj)
if (node == null) else
}
5.約瑟夫問題:
/*** 約瑟夫問題
*/public node yuesefu(int n,int k,int m)
node1=node1.next;
}node=node.next;}}
感想:鍊錶的操作會經常指向同一段記憶體,以至可能會出現node的next會出現亂指的問題,
我也遇到了好多這樣的問題,所以一定當指向一段記憶體時,一定要仔細點。最好是畫
圖,這樣思緒才會更清晰。[/color]
簡單鍊錶操作
先是最簡單的,建立,刪除節點,有序鍊錶新增節點,反轉等,如下 include using namespace std struct node node createlink int a,int len else return head void show node head coutelse bre...
簡單鍊錶操作
include using namespace std 鍊錶結構體 struct node 建立鍊錶 返回煉表頭指標 node createnodes head head next next next null return head 列印鍊錶,未使用遞迴 void printnodes node ...
C 簡單鍊錶操作
include include include 定義乙個數字節點 typedef struct tagstnode stnode 建立inum個節點,返回指向第乙個節點的指標 stnode create int inum 列印 void print stnode psthead 將鍊錶反轉 stno...