(三)陣列的定義、折半查詢、排序(選擇和冒泡)
總結複習一下java se的一些知識點(三)
一、定義陣列
//定義一位陣列
int [] arr1 = new int[4];
int arr2[] = new int[2];
int [] arr3 = new int[]{1,2,3};
int [] arr4 = {22,6,7,3,7,6,9,3,353,77};//資料明確的時候
//定義二維陣列
int [][] arr5 = new int[2][3];
int [][] arr6 = new int[2][];
arr6[0] = new int[3];
arr6[1] = new int[5];
二、查詢方法(折半查詢)
//折半查詢的陣列必須是有序的
//方法一
public int halfSearch(int[] arr,int key)
{
int min,max,mid;
min = 0;
max = arr.length-1;
mid = (min+max)/2;
while(key!=arr[mid]){
if(key>arr[mid])
min = mid+1;
else if(key < arr[mid])
max = mid-1;
mid = (max+min)/2;
}
return mid;
}
//方法二
//折半查詢2
public static int halfSearch_2(int[] arr,int key){
int min,max,mid;
min = 0;
max = arr.length-1;
while (min <= max){
mid = (max+min)/2;
if(key>arr[mid])
min = mid+1;
else if(key < arr[mid])
max = mid-1;
else
return mid;
}
return -1;//表示不存在該數
/*
函式最後一句改為:return min;可以用來求出插入一個數,該數的下標,使排序不亂
*
* */
三、排序方法
//選擇排序
public static void selectSort(int[] arr){
for(int i = 0;i < arr.length-1;i++){
for(int j = i +1 ;j < arr.length;j++){
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
//氣泡排序:相鄰的兩個元素進行比較,如果符合條件,交換位置
public static void bubbleSort(int[] arr){
for(int i = 0;i < arr.length-1;i++){
for(int j = 0; j < arr.length-i-1;j++){//-i:每比較一次就會出現一個最大值,在末尾
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
//不管什麼排序,都要對滿足條件的元素進行位置置換
public static void swap(int[] arr,int a,int b){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
在Java中有提供的類Arrays裡面的方法可以進行排序,可以在實際開發中使用
Arrays.sort(arr);
相關文章
- 指標對陣列排序選擇法和冒泡法指標陣列排序
- 陣列基本操作及冒泡演算法、直接選擇排序陣列演算法排序
- Java陣列排序和查詢Java陣列排序
- 陣列選擇排序陣列排序
- 折半查詢排序樹畫圖和排序
- 查詢與排序02,折半查詢排序
- 選擇法和冒泡法排序介面排序
- 排序法:選擇、冒泡、插入和快排排序
- 查詢與排序03,選擇排序排序
- 冒泡,選擇排序法(C#)排序C#
- 演算法--陣列氣泡排序和選擇排序原理分析演算法陣列排序
- C語言:排列陣列的三種方法:冒泡法、選擇法、插入法C語言陣列
- 排序演算法之冒泡,選擇,插入和希爾排序演算法
- 常見的三種排序演算法(選擇,冒泡,計數)排序演算法
- 單連結串列的排序(插入,選擇,冒泡)排序
- 最簡單易懂的三種排序演算法:冒泡、選擇、插入排序演算法
- C語言排序 冒泡 選擇 快排C語言排序
- 查詢之折半查詢
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- 陣列中查詢給定值陣列
- Javascript陣列排序sort方法和自定義排序方法JavaScript陣列排序
- 第三章:查詢與排序(下)----------- 3.23 相關題解:排序陣列中找和的因子排序陣列
- 資料結構和演算法:03.冒泡、選擇排序資料結構演算法排序
- 基礎排序(冒泡、選擇、插入)學習筆記排序筆記
- PHP排序演算法(插入,選擇,交換,冒泡,快速)PHP排序演算法
- 改進的氣泡排序和選擇排序(雙向冒泡/一次遍歷選出最大和最小的選擇排序)C語言實現排序C語言
- js:陣列自定義排序JS陣列排序
- 選擇排序和快速排序排序
- 泛型化的折半查詢泛型
- 排序演算法Python(冒泡、選擇、快速、插入、希爾、歸併排序)排序演算法Python
- 二分查詢和折半插入排序一塊說說-很合適~~~排序
- 在排序陣列中查詢元素的第一個和最後一個位置排序陣列
- javascript陣列定義JavaScript陣列
- C語言折半查詢C語言
- java實現折半查詢。Java
- 在靜態類中定義一個泛型方法查詢陣列元素泛型陣列
- 陣列的主元素查詢陣列
- 排序和查詢排序