我是靠谱客的博主 灵巧手链,最近开发中收集的这篇文章主要介绍数组的排序,加入数组中相邻元素的置换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/*
按大小排列数组中元素的顺序{2,23,5,6,9,1}
*/
//从小到大排列
//内循环结束一次,最值出现在头角标位上
//选择排序
class ArrayTest2
{
	public static void selectsort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
		{
			for(int y=x+1;y<arr.length;y++)
			{
				if(arr[y]<arr[x])
				{
					/*
					int temp=arr[x];
					arr[x]=arr[y];
					arr[y]=temp;
					*/
					swap(arr,x,y);//换位置
				}
			}
		}
	}
	//打印数组
	public static void printArray(int[] arr)
	{
		System.out.print("[");
		for(int x=0;x<arr.length;x++)
		{
			if(x!=arr.length-1)
				System.out.print(arr[x]+",");
			else
				System.out.println(arr[x]+"]");
		}
	}
	
	public static void main(String[] args)
	{
		int[] arr={2,23,5,6,9,1};
		//printArray(arr);
		//selectsort(arr);//选择排序
		//Arrays.sort(arr);//java中已经定义好的一种排序方式,开发中对数组排序要使用该句代码
		bubblesort(arr);
		printArray(arr);
	}
	
	
	//冒泡排序:相邻的两个元素相互比较,如果符合条件换位
	//第一圈,最值出现在最后位
	
	public static void bubblesort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
		{
			for(int y=0;y<arr.length-x-1;y++)//-x让每一次比较的元素减少。-1避免角标越界
			{
				if(arr[y]>arr[y+1])
				{
					/*
					int temp=arr[y];
					arr[y]=arr[y+1];
					arr[y+1]=temp;
					*/
					swap(arr,y,y+1);
				}
			}
		}
	}
	
	/*
	发现无论什么排序都需要对满足条件的元素进行未知置换
	所以可以把这部分相同的代码提取出来,单独封装成一个函数
	*/
	public static void swap(int[] arr,int a,int b)
	{
		int temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}
}

最后

以上就是灵巧手链为你收集整理的数组的排序,加入数组中相邻元素的置换的全部内容,希望文章能够帮你解决数组的排序,加入数组中相邻元素的置换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部