算法
1、冒泡算法
2,5,18,3,23,89,8
2,5,3,18,23,8,89
2,3,5,18,8,23
2,3,5,8,18
2,3,5,8
2,3,5
2,3
//冒泡排序算法
public class maopao{
public static void main(String[] args){
int[] num = {2,5,18,3,23,89,8};
int temp = 0;//存放临时数
for(int i=0;i<num.length-1;i++){//控制比较的轮数
for(int j=0;j<num.length-1-i;j++){//控制每轮比较的次数
//数据交换
if(num[j]>num[j+1]){
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
//输出
for(int i=0;i<num.length;i++){
System.out.print(num[i]+",");
}
System.out.println();
}
}
2、选择排序算法
2,5,18,3,23,89,8
2,5,18,3,23,89,8 1
2,3,18,5,23,89,8 2
2,3,5,18,23,89,8 3
2,3,5,8,23,89,18 4
2,3,5,8,18,89,23 5
2,3,5,8,18,23,89 6
//选择排序算法
public class Test17{
public static void main(String[] args){
int[] num = {2,5,18,3,5,89,8};
int minIndex = 0;//最小数的索引
int temp = 0;//临时交换用
for(int i=0;i<num.length-1;i++){//要比较的轮数
minIndex = i;
for(int j=i+1;j<num.length;j++){
if(num[minIndex]>num[j]){
minIndex = j;
}
}
if(minIndex!=i){
temp = num[minIndex];
num[minIndex] = num[i];
num[i] = temp;
}
}
//输出
for(int i=0;i<num.length;i++){
System.out.print(num[i]+",");
}
}
}
3、排除重复数字
while(true){
index = r.nextInt(33);
if(redBall[index]!=-1){
sysRedBall[i] = redBall[index];
redBall[index] = -1;
break;
}