演算法導論示例 Queue

2021-04-07 09:50:03 字數 706 閱讀 1418

/**

* introduction to algorithms, second edition

* 10.1 queues

* @author 土豆爸爸

* */

public class queue

/**

* 將元素x新增到佇列。佇列的尾索引加1。

* @param x 待新增的元素

*/

public void enqueue(int x)

array[tail] = x;

//尾索引加1,並自動折轉

tail = (tail + 1) % array.length;

}

/**

* 從佇列從返回頭元素。佇列的頭索引加1。

* @return 佇列頭元素

*/

public int dequeue()

int result = array[head];

//頭索引加1,並自動折

head = (head + 1) % array.length;

return result;

}

}import junit.framework.testcase;

public class queuetest extends testcase catch(exception e)

}

}

演算法導論示例 InsertSort

introduction to algorithms,second edition 2.1 insertsort author 土豆爸爸 public class insertsort array i 1 key import junit.framework.testcase public clas...

演算法導論示例 MergeSort

introduction to algorithms,second edition 2.3 mergesort author 土豆爸爸 public class mergesort public static void merge int array,int p,int q,int r l i in...

演算法導論示例 PermuteBySorting

introduction to algorithms,second edition 5.3 permute by sorting author 土豆爸爸 public class permutebysorting 根據隨機陣列對目標資料進行排序 sort array,p 根據p對array重排 pa...

演算法導論示例 HeapSort

introduction to algorithms,second edition 6.4 heapsort author 土豆爸爸 public class heapsort 構建max heap private void buildmaxheap 使陣列的第i個元素按max heap規則重排 p...

演算法導論示例 QuickSort

introduction to algorithms,second edition 7.1 quicksort author 土豆爸爸 public class quicksort 找到一個位置q,使q左邊的元素都比q小,q右邊的元素都比q大 param array 待排序陣列 param p 開始...