28.冒泡排序

/*
 * 冒泡排序
 * */
public class SortNum {
    public static void main(String[] args) {
        int[] scores={16,25,9,90,23};
        for (int i = 0; i < scores.length -1 ; i++)
        {
              for (int j = 0; j < scores.length -1 - i ; j++)
              {
                    if (scores[j] > scores[j + 1])
                    {
                          // 交换元素
                          int temp = scores[j];
                          scores[j] = scores[j + 1];
                          scores[j + 1] = temp;
                    }
              }
        }
        System.out.println("冒泡排序后:");
        for(int score:scores){
            System.out.print(score+"\t");
        }
    }
}
时间: 2024-08-27 10:06:05

28.冒泡排序的相关文章

Windows7WithSP1/TeamFoundationServer2012update4/SQLServer2012

[Info   @09:03:33.737] ====================================================================[Info   @09:03:33.743] Team Foundation Server Administration Log[Info   @09:03:33.748] Version  : 11.0.61030.0[Info   @09:03:33.748] DateTime : 05/24/2014 17:0

【算法28】冒泡排序中的交换次数问题

问题描述 题目来源:Topcoder SRM 627 Div2 BubbleSortWithReversals 给定待排序数组A,在最多反转K个A的不相交子数组后,对A采用冒泡排序,问最小的swap次数是多少?冒泡排序的伪代码如下: BubbleSort(A): 循环len(A) - 1次: for i from 0 to len(A) - 2: if (A[i] > A[i+1]) swap(A[i], A[i+1]) 问题分析 首先,容易分析得到:对于任意待排序数组A,其采用冒泡排序所需要的

算法之冒泡排序(Java示例)

冒泡排序(英语:Bubble Sort) 是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 动画示意 实现示例 Java 1 public class BubbleSortExample { 2 3 static void bubbleSort(int[] arr){ 4 int len =

从数组冒泡排序迁移到链表冒泡排序

链表是一种常见的数据结构,在启发式搜索中我们常常需要把无序的链表,按照结点包含的元素数量从小到大排列整齐.面对链表排序问题,尤其是在链表节点是一张巨大的表的情况下,传统的交换法显得力不从心,而通过修改指针指向来使链表逻辑序列有序化是主要的解决途径. 如何对链表进行排序,可以借鉴我们所熟知的数组冒泡的思想.在数组冒泡中我们通过交换与移动两种操作把最值向后移动,在不同趟的排序中我们只需要维护一个变动的尾部.链表的冒泡思路与数组的冒泡是一致的,只不过具体的操作上有些不同,无论是交换还是移动操作,链表都

使用JAVA直观感受快速排序与冒泡排序的性能差异

初学算法,肯定会编写排序算法 其中两个最为有名的就是冒泡排序和快速排序 理论上冒泡排序的时间复杂度为O(N^2),快速排序的时间复杂度为O(NlogN) 下面本门使用JAVA,分别编写三段排序程序 对十万个0-9999的整数进行一次冒泡排序 对十万个0-9999的整数进行1000次快速排序,使用递归完成 对十万个0-9999的整数进行1000次快速排序,使用堆栈完成 对十万个0-9999的整数进行一次冒泡排序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

算法之冒泡排序

申明:参考    http://www.cnblogs.com/iuices/archive/2011/11/13/2247193.html 原理:将一组数储存在数组List[n]中.逆序,依次比较相邻两个元素的大小,遵循“小数在前,大数在后”的规则交换两数. 第一次扫描,将最小的数放在数组的第一位置,第二次扫描只要对除去第一位置的其余的数重复上述步骤即可……共扫描n-1次 程序中引入一个布尔量exchange,在每趟排序开始前,先将其置为FALSE.若排序过程中发生了交换,则将其置为TRUE

c#复习-冒泡排序

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace 冒泡排序 7 { 8 9 在其他类中定义一组变量 10 class Student 11 { 12 public string Code; 13 public string Name; 14 public decimal Score; 15 } 16 } 1 using System

Java学习 (七)、数组,查找算法,二分查找法,冒泡排序,选择排序,插入排序

一.常用数组查找算法 工作原理:它又称为顺序查找,在一列给定的值中进行搜索,从一端的开始逐一检查每个元素,知道找到所需元素的过程. 例1:查找指定的数在数组中出现的位置,找到返回下标,找不到返回-1 1 import java.util.Scanner; 2 public class LinearSearch{ 3 public static void main(String []argas) 4 { 5 int [] array={10,100,90,65,80,92}; 6 System.o

冒泡排序法实例

/** * @ClassName: Exercise8_1 * @Description: 演示数组的冒泡排序算法 * @author: YuHong * @date: 2014年2月5日 下午2:25:04 */ public class Exercise8_1 { public static void main( String[] args ) { int[] a = { 25, 24, 12, 76, 98, 101, 90, 28 }; int i = 0; int j = 0; int