/*** 運算元組的常用方式
*/public class arraydemo ;
// 排序前
system.out.println("--------------------排序前--------------------");
printarray(arr);
// 選擇排序
// selectsort(arr);
// 氣泡排序
bubblesort(arr);
system.out.println("--------------------排序後--------------------");
printarray(arr);
// 普通查詢法
system.out.println(arrayindexof(arr, 10));
//二分法查詢方式1
system.out.println(searchelindex(arr, 5));
//二分法查詢方式2
system.out.println(searchelindex2(arr, 5));
} /**
* 選擇排序(每一輪將第乙個元素和陣列中的每個元素進行比較)
* @param arr 待排序的陣列
*/public static void selectsort(int arr) ;
* arr[0] = arr[0] + arr[1]; ==》3=2+1;
* arr[1] = arr[0] - arr[1]; ==》2=3-1;
* arr[0] = arr[0] - arr[j]; ==》1=3-2;
*//*arr[i] = arr[i] + arr[j];
arr[j] = arr[i] - arr[j];
arr[i] = arr[i] - arr[j];*/
swap(arr, i, j);}}
} }/**
* 氣泡排序(兩個相鄰的數進行比較)
* @param arr 待排序的陣列
*/public static void bubblesort(int arr)
}} }
/*** 將陣列中的兩個元素交換位置
* @param arr 待交換元素位置的陣列
* @param index1 元素下標1
* @param index2 元素下標2
*/public static void swap(int arr, int index1, int index2)
/*** 二分法查詢乙個元素在陣列中的下標
* @param arr 陣列
* @param key 要查詢的元素
* @return 找到返回元素在陣列中的下標,沒找到則返回-1
*/public static int searchelindex(int arr, int key) else if (key < arr[mid])
if (min > max)
return -1;
mid = (min + max) / 2;
} return mid; }
/*** 二分法查詢乙個元素在陣列中的下標
* @param arr 陣列
* @param key 要查詢的元素
* @return 找到返回元素在陣列中的下標,沒找到則返回-1
*/public static int searchelindex2(int arr, int key) else if (key < arr[mid]) else
} return -1; }
/*** 查詢乙個元素在陣列中的位置,該函式可以查詢未經排序陣列的第乙個元素所在陣列中的下標
* @param arr 查詢的陣列
* @param key 查詢的元素
* @return 如果找到則返回該元素在陣列中的下標,沒找到則返回-1
*/public static int arrayindexof(int arr, int key)
return -1;
} /**
* 列印陣列
* @param arr 待列印的陣列
*/public static void printarray(int arr) else
} system.out.println("]");
}}
MySQL查詢(二) 排序查詢(DQL語言)
select 查詢列表 from 表 where 篩選條件 order by 排序列表 asc desc 1 按單個字段排序 select from employees order by salary desc 2 新增篩選條件再排序 案例 查詢部門編號 90的員工資訊,並按員工編號降序 selec...
二分排序和查詢
題目 首先產生隨機數,再進行快速排序,再進行二分查詢。include include include void quiksort int a,int low,int high a i a j while a i temp i j a j a i a i temp quiksort a,low,i 1...
task3 排序 和 二分查詢
給定乙個陣列 nums,有乙個大小為 k 的滑動視窗從陣列的最左側移動到陣列的最右側。你只可以看到在滑動視窗 k 內的數字。滑動視窗每次只向右移動一位。返回滑動視窗最大值。示例 輸入 nums 1,3,1,3,5,3,6,7 和 k 3 輸出 3,3,5,5,6,7 解釋 滑動視窗的位置 最大值 1...