JAVA 冒泡算法】的更多相关文章

每种语言都有冒泡JAVA实现如下: public static void main(String args[]){ System.out.println("Start"); int[] sort ={5,2,6,8,3,1,9,0,4}; Sort(sort); System.out.println("End"); } public static int[] Sort(int[] sort){ for (int i=0;i<sort.length-1;i++)…
public static void maopao() { int temp; int[] values = {2, 34, 0, 245}; for (int i = 0; i < values.length; i++) { // 每次操作都会给最大的找出来 for (int j = 0; j < values.length - 1 - i; j++) { if (values[j] > values[j + 1]) { temp = values[j]; values[j] = va…
所谓的冒泡算法,就是给数组进行排序,可以根据以小到大的顺序,也可以根据以小到大的顺序,在数组的封装类java.util.Arrays通过sort方法进行按升序的排序.那不用类的话怎么进行呢? 思路一: 设数组的长度为N: (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换. (2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置. (3)N=N-1,如果N不为0就重复前面二步,否则排序完成. public static vo…
1.数组的定义 数组为相同类型的若干个数据,在一个数组里面,不能存放多种不同类型的数据,其中每个数据为该数组的一个元素,可以通过下标对改元素进行访问. 1.1 数组的特点 (1)数组被创建后,长度就已经被确定了,无法改变.//int[] arr=new int[5]; (2)数组的元素都为同一种数据类型. (3)数组是有序的,数组的元素通过下标进行标记,从0开始. 1.2 数组在内存中的分配方式 在程序进行编译时,所占用的内存可分为: (1)栈内存( stack ):基本数据类型分配在栈内存,栈…
冒泡算法的规则: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放待排序序列的起始位置(或末尾位置),直到全部待排序的数据元素排完 动态图: 对应代码 static void swap(int[] arr, int addr1, int addr2) { //数组数据交换 if (addr1 == addr2) { return; } arr[addr1] = arr[addr1] ^ arr[addr2]; arr[addr2] = arr[addr1] ^ arr[addr2];…
接触冒泡算法还是大一了,学习C语言的冒泡算法.现在唯一记得就是冒泡与选择了.出来刚刚工作的时候觉的算法基本没撒用处,现在发现这些都是很好的基础.因此自己也准备重新拾起这些知识. 冒泡排序 泡排序是一种很简单的排序的算法,根据名字就可以知道这一个过程,一点点的把大的数移到顶部. 时间复杂度 若文件的初始状态是正序的,一趟扫描即可完成排序.所需的关键字比较次数 和记录移动次数 均达到最小值:  ,  .所以,冒泡排序最好的时间复杂度为 . 若初始文件是反序的,需要进行 趟排序.每趟排序要进行 次关键…
];  ; i <  ; i++){ sort[i] = ran.nextInt(); } System.out.print(;i<sort.length;i++){ ;j<sort.length-i;j++){ ]){ ]; sort[j+] = sort[j]; sort[j] = temp; } } } } } package sort.bubble; import java.util.Random; /** * 依次比较相邻的两个数,将小数放在前面,大数放在后面 * 冒泡排序,具…
1.声明一个char类型的数组,  从键盘录入6个字符[1]遍历输出[2]排序[3]把char数组转化成一个逆序的数组 总结:分析问题时,先问自己,需要用到什么? 对于这题,第一步:先写一个main方法: 第二步:需要声明一个数组: 第三步:需要用到Scanner的控制台输入:(列如:String tmp=sc.next();定义一个string类型的tmp(我把它理解成堆内存的地址),把从控制台输入的sc对象依次导入到堆内存当中) 这三步我把它理解成构建算法的基石 (1)在第一问当中,当看到问…
排序算法 平均时间复杂度 冒泡排序 O(n2) 选择排序 O(n2) 插入排序 O(n2) 希尔排序 O(n1.5) 快速排序 O(N*logN) 归并排序 O(N*logN) 堆排序 O(N*logN) 基数排序 O(d(n+r)) 一. 冒泡排序(BubbleSort) 基本思想:两个数比较大小,较大的数下沉,较小的数冒起来. 过程: 比较相邻的两个数据,如果第二个数小,就交换位置. 从后向前两两比较,一直到比较最前两个数据.最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了. 继…
Java排序算法(三) 三.Java排序算法总结 从这三组时间复杂度对比中,可以看出,堆排序和归并排序是不管在什么情况下发挥稳定的,快速排序好的时候表现如天才,坏情况下比较差强人意,甚至在等待排序个数小于50的时候还不如简单的冒泡,直接插入排序,选择排序. 从空间复杂度看,归并排序需要辅助空间,快速排序也有相应的空间需求,堆排序则是少量索取,大量付出. 从稳定性上看,归并排序独占鳌头. 总之,综合各项指标,经过优化的快速排序是性能最好的排序算法,但不同的场合我们也应该考虑使用不同的算法来应对.…