吾爱乐享
个人学习网站

java学习之数组元素排序,冒泡排序和选择排序

java学习之数组元素排序

选择排序

  • *返回值类型 void
  • *参数列表 int[] arr
  • * 分析:选择排序
  • * 第一次arr[0]与arr[1-4]比较,总共比较4次
  • * 第二次arr[1]与arr[2-4]比较,总共比较3次
  • * 第三次arr[2]与arr[3-4]比较,总共比较2次
  • * 第四次arr[3]与arr[4]比较,总共比较1次

冒泡排序

  • 返回值类型void
  • * 参数列表 int[] arr
  • * 分析:冒泡排序
  • * 第一次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3],arr[3]和arr[4]比较了4次
  • * 第二次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3]比较了3次
  • * 第三次比较arr[0]和arr[1],arr[1]和arr[2]比较了2次
  • * 第四次比较arr[0]和arr[1]比较了1次

 

package com.ifenx8.study.array;

public class Demo_BubbleSort {

	/**
	 	需求:
			数组元素:{24, 69, 80, 57, 13}
			请对数组元素进行排序。
	 */
	public static void main(String[] args) {
			int[] arr = {24, 69, 80, 57, 13};
			//bubbleSort(arr);//冒泡排序
			selectSort(arr);//选择排序
			print(arr);
	}
	/*
	 *返回值类型 void
	 *参数列表 int[] arr
	 *
	 * 分析:选择排序
	 * 第一次arr[0]与arr[1-4]比较,总共比较4次
	 * 第二次arr[1]与arr[2-4]比较,总共比较3次
	 * 第三次arr[2]与arr[3-4]比较,总共比较2次
	 * 第四次arr[3]与arr[4]比较,总共比较1次
	 * 
	 */
	public static void selectSort(int[] arr) {
		for (int i = 0; i < arr.length -1; i++) {
			for (int j = i + 1; j < arr.length; j++) { if(arr[i] > arr[j]){
					/*int temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;*/
					swap(arr, i , j);
				}
			}
		}
		
	}
	
	/**冒泡排序
	 * 返回值类型void
	 * 参数列表 int[] arr
	 * 分析:
	 * 第一次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3],arr[3]和arr[4]比较了4次
	 * 第二次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3]比较了3次
	 * 第三次比较arr[0]和arr[1],arr[1]和arr[2]比较了2次
	 * 第四次比较arr[0]和arr[1]比较了1次
	 * 
	*/
	public static void bubbleSort(int[] arr) {
	for (int i = 0; i < arr.length - 1; i++) {//外部循环比较的是第几次
		for (int j = 0; j < arr.length - 1 -i; j++) {//内部循环比较了几次 if(arr[j] > arr[j + 1]){
				/*int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;*/
				swap(arr , j , j + 1 );
			}
		}
	}
	}
	/*
	 *打印数组 
	 */
	public static void print (int[] arr){
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
	}
	/*
	 * 把两个排序中共同的部分抽取成一个方法
	 * 				int temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
					代码更简洁
	 */
	private static void swap(int[] arr, int i ,int j) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}
}

赞(0) 打赏
未经允许不得转载:吾爱乐享 » java学习之数组元素排序,冒泡排序和选择排序

评论 抢沙发

评论前必须登录!

 

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏