java实现冒泡、选择、插入排序算法
2015-01-16 01:19
190 查看
package xiaoneiwang;
public class Test {
public
static void main(String[]
agrs){
//插入排序算法
int[]
arr = {10,1,90,7,23,6,2,34};
//假设第一个数是一个有序数组
//拿后面的每一个数往这个数组插入
int[]
arr2 = sort3(arr);
for(inti :
arr2){
System.out.println(i);
}
}
//插入排序发 假设前面是一个已经排好的序列 (从前面只有一个开始)
publicstatic
int[] sort(int[]arr){
for(inti=1;i<arr.length;i++){
intindexValue =
arr[i];
int
index = i-1;
while(index>=0&&indexValue<arr[index]){
arr[index+1] =arr[index];
index--;
}
arr[index+1] =indexValue;
}
returnarr;
}
publicstatic
int[] sort2(int[]arr){
//冒泡排序
int
temp = 0;
for(inti=0 ;i<arr.length
-1;i++){
for(intj=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
returnarr;
}
publicstatic
int[] sort3(int[]arr){
//选择排序法
int
temp;
for(
int i=0;i<arr.length;i++){
//假设arr[0]最小 拿他和后面的每一个数进行比较
int
min = arr[i];
//记录最小数的下标
int
index = i;
for(intj=i+1;j<arr.length;j++){
if(min>arr[j]){
min=arr[j];
index=j;
}
}
//档推出for循环时找到最小值
temp =
arr[i];
arr[i] =arr[index];
arr[index] =temp;
}
returnarr;
}
//二分查找法,用于已经排好序的数组
public static
void erFen(int leftIndex,int
rightIndex,int
value,int[]
arr){
//找中间的下标
int
index = (leftIndex+rightIndex)/2;
//判断中间的下标的数是否大于要查找的数
if(arr[index]>value){
//如果大在左边查找
erFen(leftIndex,index-1,value,arr);
}else
if(arr[index]<value){
//如果不是在他的右边查找
erFen(index+1,rightIndex,value,arr);
}else
if(arr[index]==value){
System.out.println("zhaodaol"+index);
}
}
public class Test {
public
static void main(String[]
agrs){
//插入排序算法
int[]
arr = {10,1,90,7,23,6,2,34};
//假设第一个数是一个有序数组
//拿后面的每一个数往这个数组插入
int[]
arr2 = sort3(arr);
for(inti :
arr2){
System.out.println(i);
}
}
//插入排序发 假设前面是一个已经排好的序列 (从前面只有一个开始)
publicstatic
int[] sort(int[]arr){
for(inti=1;i<arr.length;i++){
intindexValue =
arr[i];
int
index = i-1;
while(index>=0&&indexValue<arr[index]){
arr[index+1] =arr[index];
index--;
}
arr[index+1] =indexValue;
}
returnarr;
}
publicstatic
int[] sort2(int[]arr){
//冒泡排序
int
temp = 0;
for(inti=0 ;i<arr.length
-1;i++){
for(intj=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
returnarr;
}
publicstatic
int[] sort3(int[]arr){
//选择排序法
int
temp;
for(
int i=0;i<arr.length;i++){
//假设arr[0]最小 拿他和后面的每一个数进行比较
int
min = arr[i];
//记录最小数的下标
int
index = i;
for(intj=i+1;j<arr.length;j++){
if(min>arr[j]){
min=arr[j];
index=j;
}
}
//档推出for循环时找到最小值
temp =
arr[i];
arr[i] =arr[index];
arr[index] =temp;
}
returnarr;
}
//二分查找法,用于已经排好序的数组
public static
void erFen(int leftIndex,int
rightIndex,int
value,int[]
arr){
//找中间的下标
int
index = (leftIndex+rightIndex)/2;
//判断中间的下标的数是否大于要查找的数
if(arr[index]>value){
//如果大在左边查找
erFen(leftIndex,index-1,value,arr);
}else
if(arr[index]<value){
//如果不是在他的右边查找
erFen(index+1,rightIndex,value,arr);
}else
if(arr[index]==value){
System.out.println("zhaodaol"+index);
}
}
相关文章推荐
- java简单实现冒泡、快速、选择、插入排序算法
- Java实现冒泡,快速,选择,插入排序算法
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- java实现冒泡、选择、快速排序算法
- Java中实现简单的三大排序——冒泡、选择、插入
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- Java实现选择排序和冒泡排序执行时间的比较
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- c#实现冒泡、快速、选择和插入排序算法
- 排序算法复习(Java实现): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(三): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 《冒泡,选择,插入,归并,希尔,快速》排序算法java实现一览
- java实现冒泡,插入,选择排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 冒泡、插入、快速、选择排序的java实现
- c#实现冒泡、快速、选择和插入排序算法