概述
----------- 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);
}
}
最后
以上就是执着麦片为你收集整理的黑马程序员-数组排序-选择排序与冒泡排序的全部内容,希望文章能够帮你解决黑马程序员-数组排序-选择排序与冒泡排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复