Java实现数组排序含冒泡排序、选择排序

数组排序其实很简单,但是小疯因为许久不用有些生疏,所以在这里重温一下,这里有两种简单的冒泡和选择。

一、冒泡排序

    根据数组的长度循环遍历,并判断如果前一个值小于后一个值,那么就把“后一个值”排列到“当前前一个值”的前面。代码实现如下:

// 定义一个无序的整形数组
int arr[] = {25,29,13,10,12,14,41};
// 进行排序
for(int i = 0; i < arr.length; i++) {
	for(int j = 0; j < arr.length - 1; j++) {
		if(arr[j] > arr[j+1]) {
			// 替换临时变量
			int temp;
			// 把大的值放入中间变量
			temp = arr[j];
			// 把较小的值放入前一位
			arr[j] = arr[j+1];
			// 把较大的值放入后一位
			arr[j+1] = temp;
					
		}
	}
}

    通过FOR循环取出最后的排序。代码实现如下:

// 遍历数组,依次输出
for(int i = 0; i < arr.length; i++) {
	System.out.println(arr[i]);
    }
}

    在main函数中,通过实例化别名点方法名的方式调用并打印出结果。就是想要的从小到大的顺序

二选择排序

     根据数组的长度循环遍历,并判断如果第一个值大于后边的值,就把小的值替换到前边,依次筛选第一小的、第二小的……代码实现如下:

		// 定义一个无序的整形数组
		int arr[] = {25,29,13,10,12,14,41};
		// 进行排序
		for(int i = 0; i < arr.length; i++) {
			for(int j = i+1; j < arr.length - 1; j++) {
				if(arr[i] > arr[j]) {
					// 替换临时变量
					int temp;
					// 把大的值放入中间变量
					temp = arr[i];
					// 把较小的值放入前一位
					arr[i] = arr[j];
					// 把较大的值放入后一位
					arr[j] = temp;
					
				}
			}
		}

    通过循环输出同冒泡一致!

当然关于排序算法还有几种,有兴趣的可以关注后续!!

猜你喜欢

转载自my.oschina.net/u/3867297/blog/1823220