重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
代码:
创新互联专注于湘乡网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供湘乡营销型网站建设,湘乡网站制作、湘乡网页设计、湘乡网站官网定制、成都小程序开发服务,打造湘乡网络公司原创品牌,更为您提供湘乡网站排名全网营销落地服务。
public class test {
private static void sort(Integer arr[], int n) {
if (n = 1) return; //如果只有一个元素就不用排序了
for (int i = 0; i n; ++i) {
// 提前退出冒泡循环的标志位,即一次比较中没有交换任何元素,这个数组就已经是有序的了
boolean flag = false;
for (int j = 0; j n - i - 1; ++j) { //此处你可能会疑问的jn-i-1,因为冒泡是把每轮循环中较大的数飘到后面,
// 数组下标又是从0开始的,i下标后面已经排序的个数就得多减1,总结就是i增多少,j的循环位置减多少
if (arr[j] arr[j + 1]) { //即这两个相邻的数是逆序的,交换
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = true;
}
}
if (!flag) break;//没有数据交换,数组已经有序,退出排序
}
}
public static void main(String[] args) {
Integer arr[] = {2, 6, 3, 67, 54};
sort(arr, arr.length);
System.out.println("冒泡排序后的数组为");
for (Integer i : arr) {
System.out.println(i);
}
}
}
public class TestBaiduKnow {
public static void main(String[] args) {
int[] a = { 9, 8, 7, 10, 6, 5, 4, 3, 2, 1 };
System.out.println("原始数组:");
for (int i = 0; i a.length; i++)
System.out.print(a[i] + " ");
for (int i = 0; i a.length; i++)
for (int j = i; j a.length; j++) {
if (a[i] a[j]) {
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
System.out.println("\n" + "排序后数组:");
for (int i = 0; i a.length; i++)
System.out.print(a[i] + " ");
}
}
整数数组么。。
import java.util.Arrays;
public class SortArray {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] nums = { 22, 33, 11, 223, 435, 54, 332, 32, 5, 65, 321, 43 };
// 第一种方法 直接用API提供的方法默认是升序排列
Arrays.sort(nums);
for (int num : nums) {
System.out.print(num + " ");
}
System.out.println();
// 第二种方法 自己写 冒泡排序
nums = new int[] { 22, 33, 11, 223, 435, 54, 332, 32, 5, 65, 321, 43,
543, 432, 7765, 321 };
for (int i = 0; i nums.length; i++) {
for (int m = i; m nums.length; m++) {
if (nums[i] nums[m]) {
int temp = nums[i];
nums[i] = nums[m];
nums[m] = temp;
}
}
}
for (int num : nums) {
System.out.print(num + " ");
}
}
}
首先你这命名就有问题,选择排序应该是SelectSort吧
你赋值应该要先把要排的数全部装进去
for (int i = 0; i arr.length - 1; i++)
arr[i] = sc.nextInt();
这样才正确,有了数据再排,你的for循环只输入了一个数,看看你的大括号
这种问题一看就是不会断点调试的