标签:new lang static bool 大小 sys boolean false 变量
int size = 30;
int [] arr = new int arr[size];
int arr.length = a;
int temp;
boolen flag = false
for(int i=0;i<a-1;i++){
for(int j=0;j<a-1-i;j++){
if(arr[j]<arr[j+1]);
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
if(!flag){
break;
}else{
flag = false;
}
public class BubbleSort {
public static void main(String[] args) {
// int[] arr = {3, 9, -1, 10, -2};
int size = 8;
int[] arr = new int[size];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random()*size);
}
System.out.println(Arrays.toString(arr));
sort(arr);
}
//小到大排序
public static void sort(int[] arr) {
int a = arr.length;
int temp;//临时变量
boolean flag = false;//标记是否发生变化
for (int i = 0; i < a - 1; i++) {
for (int j = 0; j < a - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {//比较大小,逆序交换
flag = true;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第" + (i + 1) + "次排序结果");
System.out.println(Arrays.toString(arr));
if (!flag) {
break;
} else {
flag = false;
}
}
}
}
import java.util.Arrays;
//选择排序,假定第一个数为最小数,一直往后比较直到找出最小数交换。
//时间复杂度O(n^2)
public class SelectSort {
public static void main(String[] args) {
int size = 12;
int[] arr = new int[size];
for (int i = 0; i < size; i++) {
arr[i] = (int) (Math.random() * size);
}
// int [] arr = {20,-1,0,-9,7,6};
System.out.println("排序前");
System.out.println(Arrays.toString(arr));
selectsort(arr);
}
public static void selectsort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int minindx = 0;//假定最小数下标为第一数
int min = arr[0];//假设最小数的值为第一个数
for (int j = i + 1; j < arr.length; j++) { //走第二遍从第二位数字开始
if (min > arr[j]) {//如果假定的最下值比后面的大,进行交换
min = arr[j];
minindx = j;
}
}
if (minindx != i) {
arr[minindx] = arr[i];
arr[i] = min;
}
System.out.println("第" + (i + 1) + "次排序");
System.out.println(Arrays.toString(arr));
}
}
}
······待更
标签:new lang static bool 大小 sys boolean false 变量
原文地址:https://www.cnblogs.com/ed1s0n/p/13058227.html