運算元組的常用方式二 排序 查詢

2022-05-09 04:09:08 字數 2194 閱讀 6142

/**

* 運算元組的常用方式

*/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...