排序 冒泡排序法

原文发布时间为:2009-03-06 —— 来源于本人的百度文章 [由搬家工具导入]

using System;//冒泡排序

namespace sorts
{
   public class Class3
    {
       public static void Main()
       {
           int[] a=new int[]{2,8,4,6,9,4};
           BubbleSort arr=new BubbleSort();
           arr.Sort(a);
           for(int i=0;i<a.Length;i++)
               Console.Write("{0} ",a[i]);
           Console.WriteLine();
           Console.ReadLine();
       }

    }
    public class BubbleSort
    {
        public void Sort(int[] arr)
        {
            for (int i = 0; i < arr.Length; i++)
                for (int j = 0; j < arr.Length-i- 1; j++)
                {
                    if (arr[j] > arr[j + 1])
                    {
                        int temp = arr[j + 1];
                        arr[j + 1] = arr[j];
                        arr[j] = temp;
                    }
                }
        }
    }
}

时间: 2024-10-19 14:02:46

排序 冒泡排序法的相关文章

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

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

数据结构:链表 &gt;&gt; 链表按结点中第j个数据属性排序(冒泡排序法)

创建结点类,链表类,测试类 1 import java.lang.Object; 2 //结点node=数据date+指针pointer 3 public class Node { 4 Object iprop; 5 public Object getIprop(int i){ 6 switch(i){ 7 case 1:iprop=num;break; 8 case 2:iprop=name;break; 9 case 3:iprop=score;break; 10 } 11 return i

选择法排序/冒泡排序法/交换排序法

这不是个新鲜的话题,是自己之前一直理解错了. int a[10] ={2,4,1,0,9,5,7,6,8,3}; 选择法排序: 第一次循环.a[0] 比较所有的的元素,最小的,跟a0交换 第二次循环,找到剩下的最小的,跟a1 交换 冒泡排序, 也是两层循环 ,  是 1-9, 在内层循环里,是从后往前,这样,一次把最小的一步一步的换到最前来, 比如 a8和a9比较,然后 a7和a8比较,依次.. 说白了,这两种排序,大同小异,时间复杂度是一样的. 交换排序法: 1次循环,跟a0比较,遇到小的,就

关于Java中的选择排序法和冒泡排序法

一,这种方法是直接传入一个数组进行排序(选择排序法) public static void selectSort(int arr[]){ for (int i = 0; i < arr.length-1; i++) { for (int j = i+1; j < arr.length; j++) { if(arr[j]<arr[i]){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } } 二,这种事传入一个数组和一个数组个数(选择排序

一、冒泡排序法对随机生成的十个数按升序进行排序

//运用冒泡排序法对随机生成的十个数按升序进行排序 //首先分析我们用冒泡排序法对这十个数排序,即用第一个数跟第二个数比较,然后将大的放到后面,接着跟第三个比较...... //我们定义一个数组名arrInt[],长度为10,定义一个变量i来记录是第几个数 int i = 0; int j = 1; int t = 0;//定义一个空位置交换时使用 int[] arrInt=new int[10];//定义一个长度为10的数组 Random rd=new Random(); Console.Wr

选择排序法、冒泡排序法

选择排序法 int main(int argc, char *argv[]) { int i, j, iMin; int tmp; int nNums[10] = {2,123,541,32,12,74,92,50,8,21}; for(i=0;i<10-1;i++) { iMin = i;    //提取数据的每个位置 for(j=i+1;j<10;j++)  //每次循环,通过iMin获取最小值的下标. { if(nNums[iMin]>nNums[j])   //判断是否最小,比i

C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数

#include <stdio.h> #define sum 3+4//宏定义是原封不动的使用used for test4 #include <time.h>//used for test8~9 #include <stdlib.h>//used for test8~9 void test(){//数组输出 //int a[5]={1,2,3,4,5}; printf("array output,look,please...\n"); int a[1

1)①排序算法之交换排序[1]冒泡排序法

1 #include "iostream" 2 using namespace std; 3 4 //************冒泡排序法********* 5 int bubble_sort(int n,int array[100]){ 6 bool exchange; 7 int i,j,temp; 8 i=1; 9 do{ 10 exchange=false; 11 for(j=n-1;j>=i;j--){ 12 if(array[j]<array[j-1]){ 13

PHP 冒泡排序法

1 <?php 2 // 冒泡排序法:将一个数组中的值按照从小到大的顺 序排序 3 $arr = array(1, 4, 5, 2, 3, 7, 9, 8); 4 $len = count($arr); 5 $len2= $len - 1; 6 for ($i = 0; $i < $len; $i++) 7 { 8 for ($j = 0; $j < $len2; $j++) 9 { 10 if ($arr[$j] > $arr[$j + 1]) // 比较当前的与下一个的大小 1