数组排序实例

来源:互联网 发布:js鼠标经过事件 编辑:程序博客网 时间:2024/05/17 05:15

请打印出一组数组数据并按从小到大的顺序排列。

public class NumSort {

public static void main(String[]args) {
int[] a = new int[args.length];
for (int i = 0;i < args.length;i++) {
a[i] = Integer.parseInt(args[i]);
}
print(a); 
selectionSort(a);
print(a);
}
private static void selectionSort(int[] a) {
for(int i = 0;i < a.length;i++) {
for(int j = i + 1;j < a.length;j++) {
if(a[j] < a[i]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
private static void print(int[] a) {
for (int i = 0;i < a.length;i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}

}


例:500个孩牵手围城一个圈,变数3退一,求最好一个人是在哪个位置。

public class Count3Quit {
public static void main(String [] args) {
boolean[] arr = new boolean[500];
for(int i = 0;i < arr.length;i++) {
arr[i] = true;
}

int leftCount = arr.length;
int countNum = 0;
int index = 0;

 while(leftCount > 1) {
if(arr[index] == true) {
countNum++;
if(countNum == 3) {
countNum = 0;
arr[index] = false;
leftCount --;
}
}

index ++;

if(index == arr.length) {
index = 0;
}
}
for(int i=0;i < arr.length;i++) {
if(arr[i] == true) {
System.out.println(i);
}
}
}

}


原创粉丝点击