zoukankan      html  css  js  c++  java
  • 冒泡排序、插入排序、快速排序

    一、冒泡排序

    #include<iostream>

    using namespace std;

    void bubble_sort(int a[],int len)

    {

           int i,j,temp;

           int exchange=0;

           for(i=0;i<len;i++)

           {

                  exchange=0;

                  for(j=1;j<=len-i-1;j++)

                  if(a[j-1]<a[j])

                  {

                         temp=a[j-1];

                         a[j-1]=a[j];

                         a[j]=temp;

                         exchange=1;

                  }

                  if(exchange!=1)

                         return;

           }

    }

    int main()

    {

           int a[]={7,3,5,8,9,1,2,4,6};

           bubble_sort(a,9);

           for(int i=0;i<9;i++)

                  cout<<a[i]<<" " ;

           return 0;

    }

     二、插入排序

    #include<iostream>

    using namespace std;

    void insert_sort(int a[],int n)

    {

           int i=0,j=0,temp=0;

           for(i=1;i<n;i++)

           {

                  temp=a[i];

                  for(j=i-1;temp<a[j]&&j>=0;j--)

                         a[j+1]=a[j];

                  a[j+1]=temp;

           }

    }

    int main()

    {

           int a[]={7,3,5,8,9};

           insert_sort(a,5);

           for(int i=0;i<5;i++)

                  cout<<a[i]<<" " ;

           return 0;

    }

    三、快速排序

    #include<iostream>

    using namespace std;

    void quick_sort(int a[],int low,int high)

    {

           int i,j,pivot;

           if(low<high)

           {

                  pivot=a[low];

                  i=low;

                  j=high;

                  while(i<j)

                  {

                         while(i<j && a[j]>=pivot)

                                j--;

                         if(i<j)

                                a[i++]=a[j];

                         while(i<j && a[i]<=pivot)

                                i++;

                         if(i<j)

                                a[j--]=a[i];

                  }

                  a[i]=pivot;

                  quick_sort(a,low,i-1);

                  quick_sort(a,i+1,high);

           }

    }

    int main()

    {

           int data[9]={54,38,96,23,15,72,60,45,83};

           quick_sort(data,0,8);

           for(int i=0;i<9;i++)

                  cout<<data[i]<<" " ;

           return 0;

    }

  • 相关阅读:
    java ssh 框架下 利用junit4 spring-test进行单元测试
    在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题
    IBatis 2.x 和 MyBatis 3.0.x 的区别(从 iBatis 到 MyBatis)
    mysql GET DIAGNOSTICS 语法
    如何优化用SQL语句INSERT INTO … SELECT插入数据时锁全表的问题
    mysql中binlog_format模式与配置详解
    MySql 里的IFNULL、NULLIF和ISNULL用法区别
    mysql order by 优化 |order by 索引的应用
    几款开源ESB总线的比较
    ETL简介
  • 原文地址:https://www.cnblogs.com/fuyanan/p/3354246.html
Copyright © 2011-2022 走看看