由標題就可以知道,這篇部落格我們使用的是在插入時就已經排好序的單鏈表.
我把它命名為 orderedlist ,這裡我們從小到大排序,下面我們以此看一下它的主要方法與**實現就好:
主要方法:
/*插入節點*/
@override
public void insert(int key) else else if (p.next.key < key) else }}
count++;
}
@override
public int delete()
int key = p.next.key;
p.next = null;
return key;
}
public int popfirst() else
return key;
}
@override
public boolean isempty()
//將會從小到大的輸出
public int removeall()
count = 0;
return arr;
}
全部**:
package com.list;
/** * 順序鍊錶:
* 能夠使得再插入時就滿足從小到大的有序狀態
*/public class orderedlist implements ilinkedlist
/*插入節點*/
@override
public void insert(int key) else else if (p.next.key < key) else }}
count++;
}@override
public int delete()
int key = p.next.key;
p.next = null;
return key;
}public int popfirst() else
return key;
}@override
public boolean isempty()
//將會從小到大的輸出
public int removeall()
count = 0;
return arr;
}public orderedlist()
}
有序單鏈表的合併
1 非遞迴方式 cpp view plain copy 單鏈表.cpp 定義控制台應用程式的入口點。單鏈表 include stdafx.h include include using namespace std typedef struct node node 單鏈表的正向排序 node inse...
反轉有序鏈單鏈表
本文總結了2種方法。單鏈表node的資料結構定義如下 class listnode 把當前鍊錶的下乙個節點pcur插入到頭結點dummy的下乙個節點中,就地反轉。dummy 1 2 3 4 5的就地反轉過程 pcur是需要反轉的節點。prev連線下一次需要反轉的節點 反轉節點pcur 糾正頭結點du...
有序單鏈表的合併
接上兩篇,乙個是遞迴與非遞迴的區別,這裡能明顯的看出來,遞迴 簡潔,易懂,但層層呼叫會消耗棧空間。另乙個這是單鏈表的乙個小應用,具體例項的乙個東西 include stdafx.h include include stdlib.h using namespace std typedef struct...