1.选择排序
void selectSort(int n[]){ for (int i = 1 ; i <= n.length ; i++){//进行n趟操作 int k = i; for (int j = i ; j <=n.length; j++){//选出[i,n]中最小的元素,下表是k if (n[j] < n[k]){ k = j; } } int temp = n[i]; //交换 n[i] = n[k]; n[k] = temp; }
时间复杂度是O(n^2)
2.插入排序
static void insertSort(int list[]){ int j; for (int i = 1 ; i < list.length ; i++){//从第二个元素开始排序 int temp = list[i];//从i开始枚举 j = i;//用j来存放以有序的下标。 while (j>0&&temp<list[j -1]){ list[j] = list[j-1]; j--; } list[j] = temp; } }
时间复杂多也是O(n^2)