【排序算法2】冒泡排序

来源:互联网 发布:top域名备案 编辑:程序博客网 时间:2024/04/30 13:14

【排序算法】冒泡排序

package test;import java.util.Random;/** * 冒泡排序是这样实现的: 1、从列表的第一个数字到倒数第二个数字,逐个检查: 若某一位上的数字大于他的下一位,则将它与它的下一位交换。 * 2、重复1号步骤,直至再也不能交换。 *  * 冒泡排序的平均时间复杂度与插入排序相同,也是平方级的, 但冒泡排序是原地排序的,也就是说它不需要额外的存储空间。 *  */public class MaoPaoPaiXu {public static void main(String[] args) {// 定义原数列大小int size = 10;// 定义原数列int[] src = new int[size];for (int i = 0; i < size; i++) {src[i] = new Random().nextInt(1000);}maoPaoPaiXun(src);}private static void maoPaoPaiXun(int[] src) {boolean sorted = true;for (int j = 1; j < src.length; j++) {sorted = true;for (int i = 0; i < src.length - j; i++) {if (src[i] > src[i + 1]) {src[i] = src[i] + src[i + 1];src[i + 1] = src[i] - src[i + 1];src[i] = src[i] - src[i + 1];sorted = false;}}if(sorted) break;}}}


0 0
原创粉丝点击