java等各种语言数组排序方法

java数组排序方法,常用的排序方法很多,有冒泡排序法、选择排序法、快速排序法,插入排序法等

详细讲一下冒泡排序法。一轮一轮进行比较,每一轮相邻两个进行比较。

第一轮:从第1个数据开始,将相邻的的两个数据进行比较,如果大数在前,则将这两个数进行交换;然后在比较第2个和第3个数据,当第2个数大于第3个数时,交换这两个数;重复这个过程,直到最后两个数比较完毕。经过这样一轮比较和交换,所有的数中最大的数将被排在数据序列的最后。这个过程称为第一轮排序。

第二轮:对从第1个数据开始到倒数第2个数据之间的所有数进行第一轮的比较和交换,比较和交换的结果为数据序列中的次大的数被排到倒数第2的位置。

以此类推......直到全部排完

由以上分析可以得出,如果有N个数需要排序,则必须经过N-1轮才能完成排序,其中在M轮比较过程中包含N-M次的两两数比较和交换的过程。

举例代码如下:

public class Array {
	public static void main(String args[]) {
		int[] a = { 25, 24, 12, 76, 101, 96, 28 };
		for (int i = 1; i < a.length - 1; i++)// 外层循环控制比较的轮数
		{
			for (int j = 0; j < a.length - i; j++)// 定义内层循环控制每一轮比较的次数
			{
				if (a[j] > a[j + 1])// 比较相邻元素
				{
					// 下面的三行代码用于交换两个元素
					int temp = a[j];
					a[j] = a[j + 1];
					a[j + 1] = temp;
				}
			}
		}
		for (int k = 0; k < a.length; k++) {
			System.out.println(a[k] + " ");
		}
	}
}

发布了187 篇原创文章 · 获赞 213 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览