问题描述
- 求java最简单的冒泡程序
-
比下面这个要效率高的
for(int i=0;i
for(int d=i+1;d
if(a[i]>a[d]){
int b=a[i];
a[i]=a[d];
a[d]=b;
}
}
}
解决方案
解决方案二:
//冒泡排序法
class ArrayOrder
{
public static void main(String[] args)
{
int[] arr = {3,9,100,95,97,34,65,2,5,8};
sortArray(arr);
printArray(arr);
}
//冒泡排序法 从小到大
public static void sortArray(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=arr.length-1;j>=i+1;j--)
{
int temp;
if(arr[j-1]>arr[j])
{
//temp = arr[j-1];
//arr[j-1] = arr[j];
//arr[j] = temp;
swap(arr,j-1,j);
}
}
}
}
//选择排序法 从小到大
public static void sortSelect(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length;j++)
{
int temp;
if(arr[i]>arr[j])
{
//temp = arr[i];
//arr[i] = arr[j];
//arr[j] = temp;
swap(arr,i,j);
}
}
}
}
public static void swap(int[] arr,int a,int b)
{
int temp;
temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
public static void printArray(int[] arr)
{
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i==arr.length-1)
System.out.println(arr[i]+"]");
else
System.out.print(arr[i]+" ");
}
}
}
时间: 2024-10-30 17:57:11