黑马程序员-数组排序-选择排序与冒泡排序
来源:互联网 发布:高速下载软件 编辑:程序博客网 时间:2024/05/18 13:43
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
程序如下:
选择排序与冒泡排序的优化:
/*需求:对数组实现排序{5,2,9,1,4,6,1}.使用选择排序 2.使用冒泡排序思路:(选择排序)1.定义一个函数用于实现数组的排序功能2.选择数组的第一个数与其他数比较,存储较小的数到第一个数中3,选择数组的第二个数与后面的数比较,存储较小的数到选择的数中4,依次比较到length-1上步骤:1定义一个函数SelectSort返回类型为void,参数为int arr[]2,用for循环依次比较数,将较小的值存入比较数中。*//*需求:对数组实现排序{5,2,9,1,4,6,1}思路:使用冒泡排序1.定义一个函数用于实现数组的排序2,对相邻的数组数值进行比较,将较大的值存储在角标+1的数组中,数组最后的值存储最大值3,不断循环比较,得出结果步骤:1,定义一个函数BubbleSort,返回类型为void,参数是int[] arr;2,使用for循环一次比较相邻数组角标,将较大的值存储到角标较大的数组位置中,存到最后是最大值。*//*位置置换功能需求:优化,将满足条件的元素进行位置的置换思路:将位置置换的代码抽取取来,定义一个函数实现它的功能步骤:定义一个函数swap(),返回类型void,参数有int[] arr,int a,int b.将置换代码,copy到函数中,其他代码用函数代替*/import java.util.*;class ArraySort {/*位置置换函数实现*/public static void swap(int[] arr,int i,int j){if(arr[i]>arr[j]){int temp=0;temp=arr[j];arr[j]=arr[i];arr[i]=temp;}}//选择排序函数实现public static void SelectSort(int arr[]){for(int i=0;i<arr.length-1;i++){for(int j=i+1;j<=arr.length-1;j++){swap(arr,i,j);}}}//冒泡排序函数实现(逆序)public static void BubbleSort(int[] arr){for (int i=0;i<arr.length ;i++ ){for(int j=0;j<arr.length-1-i;j++){/*if(arr[j]<arr[j+1])//正,逆序可以通过改变<,>号完成。{int temp=0;temp=arr[j+1];arr[j+1]=arr[j];arr[j]=temp;}*/swap(arr,j,j+1);}}}//打印数组函数是实现public static void PrintArray(int[] arr){for(int i=0;i<arr.length;i++){if(i!=arr.length-1)System.out.print(arr[i]+", ");else System.out.println(arr[i]);}}public static void main(String[] args) {int[] arr={5,2,9,1,4,6,1};SelectSort(arr);//选择排序//Arrays.sort(arr);//开发用注释PrintArray(arr);//打印数组int[] arr1={5,2,10,3,4,6,1};BubbleSort(arr1);//冒泡排序PrintArray(arr1);}}
0 0
- 黑马程序员-数组排序-选择排序与冒泡排序
- 黑马程序员:Java数组简介与数组的应用:选择排序、冒泡排序、折半查找
- 黑马程序员_冒泡排序与选择排序代码体现
- 黑马程序员_选择排序与冒泡排序
- 黑马程序员----冒泡排序和选择排序
- 黑马程序员---选择排序 冒泡排序
- 《黑马程序员》 选择排序和冒泡排序
- 黑马程序员--选择排序和冒泡排序
- 黑马程序员 冒泡排序和选择排序
- 黑马程序员---冒泡排序和选择排序
- 黑马程序员---------数组 冒泡排序
- 黑马程序员_数组、冒泡、选择、插入排序法,查找。
- 黑马程序员---排序-冒泡排序
- 黑马程序员java学习— 数组的选择排序和冒泡排序
- 黑马程序员——数组练习(冒泡排序,选择排序)
- 黑马程序员_C语言基础_数组之冒泡排序、快速选择排序、折半查找
- 黑马程序员-冒泡排序
- 黑马程序员-冒泡排序
- 预测和分解时间序列数据(小时)Forecast and STL hourly time series data
- 冲茶之道
- 运行Android项目,报错java.lang.IllegalAccessException: access to constructor not allowe
- JTextArea 光标所在行 所在列 监听
- Android 解压和重新打包system.img
- 黑马程序员-数组排序-选择排序与冒泡排序
- HDOJ 题目3579 Hello Kiki(中国剩余定理,拓展的欧几里得)
- 树变成二叉树
- virtual box上网设置
- LeetCode:Linked List Cycle && Linked List Cycle II
- 算法与数据结构第十一次作业 Sins of a Solar Empire P 5
- dijkstra算法JAVA实现
- asp.net登录时生成验证码的方法
- 重做(redo)和撤销(undo)的完整实现