今天我学会了冒泡排序.选择排序.
冒泡思路:对比相邻的元素值,把小的元素移动到数组的前面,把大的元素移动到数组的后面,这样较小的元素就像气泡一样从底部上升到顶部.选择排序:将数组中的每一个元素与第一个元素比较,如果这个元素小于第一个元素,就将这两个元素交换位置,可以选择出一个最小的值放在第一个位置,以此类推,每次都找到当次最小值,按大小顺序依次放入数组相应位置.
冒泡法class ArrayDemo2
{
public static void main(String[] args)
{
int[] arr = {8,7,5,9,6,4,3,1,2};
for(int i=0; i<arr.length-1; i++)
{
for(int y=0; y<arr.length-1; y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
for(int i=0; i<arr.length; i++)
{
System.out.println(arr[i]);
}
}
}
{
public static void main(String[] args)
{
int[] arr = {8,7,5,9,6,4,3,1,2};
for(int i=0; i<arr.length-1; i++)
{
for(int y=0; y<arr.length-1; y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
for(int i=0; i<arr.length; i++)
{
System.out.println(arr[i]);
}
}
}
选择排序
public class Demo3{
public static void main(String[] args)
{
int[] num = {52,62,12,45,36,56,32,15,46,86};
for(int i = 0;i < num.length - 1;i++)
{
int min = i; //用于存储最小的值
int j ;
for( j = i+1;j<num.length;j++)
{
//向后遍历
if(num[min] > num[j])
{
//把最小值的标号赋值给min
min = j;
}
}
//交换数值
if(min !=i)
{
int temp;
temp = num[i];
num[i] = num[min];
num[min] = temp;
}
}
//输出数值
for(int i = 0;i < num.length;i++)
{
System.out.println(num[i]);
}
}
}
public static void main(String[] args)
{
int[] num = {52,62,12,45,36,56,32,15,46,86};
for(int i = 0;i < num.length - 1;i++)
{
int min = i; //用于存储最小的值
int j ;
for( j = i+1;j<num.length;j++)
{
//向后遍历
if(num[min] > num[j])
{
//把最小值的标号赋值给min
min = j;
}
}
//交换数值
if(min !=i)
{
int temp;
temp = num[i];
num[i] = num[min];
num[min] = temp;
}
}
//输出数值
for(int i = 0;i < num.length;i++)
{
System.out.println(num[i]);
}
}
}