package array;
/** * 對陣列排序。當新增到陣列保持有序陣列元素;
* @author wl
* */
public class myorderarray
public myorderarray(int capacity)
/*** 向陣列中插入元素,並維護陣列中元素的有序性
*/public void add(long data)
int i;
for(i=0;idata)
} for(int j=elements;j>i;j--)
array[i]=data;
elements++; }
/*** 刪除index處的元素
* @param index
*/public void delete(int index)
for(int i=index;i<=elements;i++)
elements--; }
/*** 刪除元素data
* @param data
*/public void delete(long data)else
elements--;
} }/**
* 用二分查詢(折半查詢)法查詢陣列中data的下標位置
* @param data
* @return
*/public int binarysearch(long data)else
} return -1;
} /**
* 查詢index處的元素
* @param index
* @return
*/public long search(int index)
return array[index]; }
/*** 查詢array中data值所在下標
* @param data
* @return
*/public int search(long data)
} return -1; }
/*** 列印陣列中的內容
*/public void display()
system.out.print(array[elements-1]);
system.out.println("]");
}}
資料結構與演算法(2) 棧和排列
棧 是乙個後進先出 last in first out,lifo 的線性表,它要求 只在表尾 進行刪除和插入操作。所謂的棧,其實就是乙個特殊的線性表 順序表,鍊錶 但是它在操作上有一些特殊的要求和限制 其中。對於棧來說,這個表尾稱為棧的棧頂 top 相應的表頭稱為棧底 bottom 棧的插入操作 p...
資料結構 2 棧結構(java實現棧結構)
棧結構是按照 後進先出 last in first out,lifo 的原則處理資料的。在棧結構中,只有棧定的元素是可以訪問的。public class stack 入棧同時棧頂下標加1 public void push int elem else 出棧刪除棧頂元素,同時棧頂元素下標減1 publi...
資料結構 有序表查詢
對於已經排好序的表,有 在有序表中,取中間的記錄進行比較,如果相同,匹配成功。如果比中間值小,就在中間記錄的左半區進行查詢,如果大,就在右半區。public static intbinarysearch int key return 1 插值查詢是對折半查詢的改進。折半時 mid l ow h ei...