一、氣泡排序
目的:將數值較大(正對於公升序排序)或較小(針對於降序排序)的元素移動到陣列的尾部。
(每排依一次只能為乙個數找到適當的位置)
需要達到的效果:
第一輪排序:
第二輪排序:
依次遞推
例如將某個陣列公升序排列:
public class arraysort;
for(int looptime=1;looptime
for(int i=0;i
int now= array[i];
int next=array[i+1];
if(now>next)
}for(int data:array)
} }
二、插入排序
將某個資料插入到已經有序的陣列,形成的新陣列仍然有序
公升級版:將陣列第乙個看做有序陣列,後面皆無序,從而實現陣列有序排序
例如:public class arraysort;//公升序排列
for(int i=1;iint sort=array[i];
int j=0;
for(;jif(sortbreak;}}
if(i==j)
for(int k=i;k>j;k--)
array[j]=sort;
}for(int data:array) }}
三、折半查詢(相對於乙個個的查詢,提高了效率)
public class arraysort ;//已知公升序或降序的陣列
int low =0;
int high = array.length-1;
int temp=88;//要查詢的數
while(low<=high) else if(temp>array[middle])else if(temp==array[middle])
}system.out.println("沒有該資料");//執行到這步說明陣列無該元素}}
四:結束程式的方法 :
在需要結束的地方插入:system.exit(0);
插入排序 折半插入排序
折半插入排序 binary insertion sort 直接插入排序採用順序查詢法查詢當前記錄在已排好序的序列中插入位置,這個 查詢 操作可利用 折半查詢 來實 現,由此進行的插入排序稱之為折半插入排序 binary insertion sort 演算法思想 1 將待排序的記錄存放在陣列r 1.n...
插入排序 折半插入排序
折半插入排序是基於直接插入排序的優化。直接插入排序 將第i個元素插入時,通過折半查詢的方式,來查詢第i個元素合適的位置。當0 i 1 位置上的元素都已經排序ok,現需要插入第i個元素,設其值為temp 令low 0,high i,mid high low 2。那麼temp可能插入的位置是 low h...
插入排序 折半插入排序
package sort 折半插入排序 當序列是連續儲存時,對直接插入排序進行的改進 插入位置可以更快速找到 直接插入排序a 0 用作哨兵減少條件判斷,折半插入排序不需要哨兵a 0 位置存放實際元素 public class insertsort 統一後移,空出插入位置 for j i 1 j hi...