幾種基礎的排序方法

2021-09-01 22:53:32 字數 2380 閱讀 5268

寫排序demo要在test裡新建class 不是在main裡

想要在控制台列印 需要加test註解

氣泡排序

package com.jia.mysort;

import org.junit.test;

/** * 氣泡排序

*/public class mybubble ;

//外層,用於記錄和控制第幾輪迴圈

for (int i = 0; i < source.length-1; i++) }}

//迴圈輸出

for (int i = 0; i < source.length; i++)

}

簡單選擇排序package com.jia.mysort;

import org.junit.test;

public class myselect ;

//外層,用於控制第幾輪迴圈

for (int i = 0; i < source.length - 1; i++) }}

for (int i = 0; i < source.length; i++)

}

二分法查詢一定要是在排好序的情況下進行查詢

在test裡寫demo時要用system.out.print進行輸出 而不是用log列印

package com.jia.mysort;

import android.util.log;

import org.junit.test;

/** * 二分法查詢

* @return

*/public class mydichotomy ;

int num = 5;//查詢5的索引

int start = 0;//查詢的起始角標

int end = source.length-1;//查詢的結尾角標

int mid = (start+end)/2;//查詢的中間角標

while (num!=source[mid])else if (source[mid]end)

mid = (start + end)/2;

}// 迴圈結束的時候,mid的值即為要查詢的角標值

system.out.print("要查詢的num的角標為:"+mid);

}

快速排序

package com.jia.mysort;

import org.junit.test;

public class myquick ;

system.out.println("************快速排序************");

system.out.println("排序前:");

display(list);

system.out.println("排序後:");

quicksort(list, 0, list.length - 1);

display(list);

}/**

* 快速排序演算法

*/public static void quicksort(int list, int left, int right)

}/**

* 分割陣列,找到分割點

*/public static int partition(int list, int left, int right)

// 交換

swap(list, left, right);

while (left < right && list[left] <= first)

// 交換

swap(list, left, right);

}// 返回分割點所在的位置

return left;

}/**

* 交換陣列中兩個位置的元素

*/public static void swap(int list, int left, int right)

}/**

* 遍歷列印

*/public static void display(int list)

system.out.println("");

}system.out.println("********展示結束********");

}

幾種排序方法

排序方法 平均最好 最壞輔助空間 穩定性冒泡 o n2 o n o n2 o 1 穩定簡單選擇 o n2 o n2 o n2 o 1 穩定插入 o n2 o n o n2 o 1 穩定希爾 o nlogn o n2 o n1.3 o n2 o 1 不穩定堆排序 o nlogn o nlogn o n...

幾種排序方法

一 選擇排序 原理 1 依次比較陣列中元素,從而記錄下陣列中最小的元素 2 將最小元素與陣列第乙個元素交換 3 依次比較陣列中剩餘元素,從而記錄下剩餘陣列中最小的元素 與陣列第二個元素交換,以此類推 特點 需要大約 n 1 n 2 1 n 2 2次比較和n次交換,演算法的時間效率取決於比較的次數。i...

javascript 的幾種排序方法

所謂排序,就是要整理檔案中的記錄,使之按關鍵字遞增 或遞減 次序排列起來。其確切定義如下 輸入 n個記錄r1,r2,rn,其相應的關鍵字分別為k1,k2,kn。輸出 ril,ri2,rin,使得ki1 ki2 kin。或ki1 ki2 kin 這裡,我們簡單介紹幾種排序方法,直接插入排序 希兒排序 ...