java中数组的排序,冒泡排序法

要求,对数组arr[]进行冒泡法排序。

思路:

1,用第一个元素,和第二个元素相比,将结果大的数放在第二个元素,然后用第二个元素和第三个元素相比,将结果大的放在第三个元素里,依次类推,用倒数第二个元素和倒数第一个相比,将结果大的放到倒数第一个里。这样下来,最后的一个,就是最大的数。

2,还是用第一个元素和第二相比,只不过,比到倒数第二个就停止,最后最大的数放在倒数第二个元素中。

3,依次类推,最后第一个元素和第二个元素相比。大的放在第二个元素中。

至此,排序完毕。

方法代码:

public static void  maopao(int [] a){
 
  for(int i=0;i<a.length-1;i++){ //控制遍历的趟次数
   for(int j=0;j<a.length-i-1;j++){//进行比较 完成一个数的排序
    if(a[j]>a[j+1]){
    int temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
    }
    
   }
   
  }
  
 }

时间: 2024-11-07 02:18:58

java中数组的排序,冒泡排序法的相关文章

java中数组的排序,选择排序法

要求:对数组arr[]进行选择排序法排序. 思路: 1,从第一个元素(角标是0)开始,和它后面的每一个元素进行比较,把较小的数存放在第一个元素中,这样,第一个元素就是最小的值. 2,从第二个元素开始,和它后面的每一个元素进行比较,把较小的数存放在第二个元素中,这样,第二个元素就是除第一个外最小的值. 3,继续.... 4,倒数第二个元素(角标是length-2),和倒数第一个元素(length-1)对比,较小的放在倒数第二个元素里面. 至此,排序完毕. 实现代码: //选择排序 public s

java中数组的排序,直接排序,冒泡排序,插入排序

1.直接排序: 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[x] > arr[y]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } 说明:双重for循环,数组的第一个数a[0]和后面所有

JAVA基础-数组的排序(选择排序和冒泡排序),总结精辟!!!

1.-------寄语 对于初学JAVA的同学来说,排序是在陌生不过的一个基础题了.但是由于自己刚刚步入学习JAVA的世界,很多东西不能很好的理解,导致自己虽然可以敲出代码或者大致能够想明白, 但是对于解决问题的思想并没有很好的深入.(其实一开始学习也没必要太刨根问底,等到自己有一定的基础了,有时间了再研究一下.抱着研究的态度感觉会更好一点.其实大部分目前的 开发者都是经过了一段时间的培训,在培训的过程中,课程速度特别快,有时候我们必须要“不拘小节”,掌握培训中的主流知识才是明智之举.如果你正在

算法大神之路----排序(冒泡排序法)

冒泡排序法 冒泡排序法又称为交换排序法,是由观察水中冒泡变化构思而成,气泡随着水深压力而改变.气泡在水底时,水压最大,气泡最小,而气泡慢慢浮上水面时,气泡所受压力最小,体积慢慢变大. 冒泡排序比较方式是从第一个元素开始,比较相邻的元素大小,如果大小顺序有误,则对调后进行下一个元素比较.直到所有元素满足关系为止. 冒泡排序法分析 冒泡排序法平均情况下,需要比较(n-1)/2次,时间复杂度为O(n2),最好的情况只需要扫描一次,不用操作,即作n-1次比较,时间复杂度为O(n). 由于冒泡排序为相邻两

Java中数组的特性

转载:http://blog.csdn.net/zhangjg_blog/article/details/16116613 数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具有固定的长度,并且在内存中占据连续的空间.在C,C++等语言中,数组的定义简洁清晰,而在Java中确有一些会让人迷惑的特性.本文就尝试分析这些特性. Java中的数组是对象吗? Java和C++都是面向对象的语言.在使用这些语言的时候,我们可以直接使用标准的类库,也可以使用组合和继承等面向对象的特性

在java 中,数组与 List&lt;T&gt; 类型的相互转换

在java中,数组与List<T> 之前进行互相转换,转换方法可总结为以下几种: 一. 将 数组转换成List<T> 1. 使用 Collections 的addAll 方法 String[] myStr = {"1","2","4","9","7"}; List<String> listStr = new ArrayList<String>(); Colle

C++ 的向量结构结合了Java中数组和向量两者的优点

C++ 的向量结构结合了Java中数组和向量两者的优点.一个C++ 的向量可以方便的被访问,其容量又可以动态的增长.如果 T 是任意类型,则 vector<T> 是一个元素为 T 类型的动态数组.下面的语句 vector<int> a; 产生一个初始为空的向量.而语句 vector<int> a(100); 生成一个初始有100个元素的向量.你可以使用push_back 函数来添加元素: a.push_back(n); 调用 a.pop_back() 从a中取出最后一个

java中的选择排序之降序排列

1 import java.util.Arrays;//必须加载 2 class Demo{ 3 public static void main(String []args){ 4 int[] arr={3,54,456,342,2798}; 5 System.out.println(Arrays.toString(arr));//java打印数组,排序前[3, 54, 456, 342, 2798] 6 arrSort(arr); 7 System.out.println(Arrays.toS

java中数组,列表,集合的基本用法

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class shuzu { public static void main(String[] args){ //数组 array(); //列表 list(); //集合 map(); } public static void array(){ int[] a=new int[]{0,1