#include <iostream.h>

#define  MAX 100



void dispaly(int a[],int n)

{

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

    {

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

    }

    cout<<endl;

    

}



// bubble sort 冒泡排序

void bubblesort(int a[],int n)

{

    int i,j;

    

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

    {

        for(j=0;j<n-i-1;j++)

        {

            if(a[j]>a[j+1])

            {

                int temp=a[j];

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

                a[j+1]=temp;

            }



        }

        dispaly(a,n);

    }

}



//insert sort 插入排序



void insertSort(int a[],int n)

{

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

    {

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

        {

        //    int temp=a[j-1];

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

        //    a[j]=temp;

        }

        



        

        for(int j=0;j<i &&a[i]<a[i-j-1];j++)

        {

            int temp=a[j-1];

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

            a[j]=temp;

        }

        dispaly(a,n);

    }

}

void selectSort(int a[],int n)

{



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

    {

        int min=a[i];

        int index=i;

        for(int j=i;j<n-1;j++)

        {

            if(min>a[j+1])

            {

                min=a[j+1];

                index=j+1;

            }

        }

        int temp=a[i];

        a[i]=min;

        a[index]=temp;



    }



    /*

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

    {

        int index=i;

        for(int j=i;j<n-1;j++)

        {

            if(a[index]>a[j+1])

            {

                index=j+1;

            }

        }

        int temp=a[i];

        a[i]=a[index];

        a[index]=temp;

    }

    */

}



int main ()

{



    int a[MAX],i;

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

    {

        cin>>a[i];

        if(a[i]==-0)

            break;

    }

    //dispaly(a,i);

    //cout<<"================start sort=================="<<endl;

    //bubblesort(a,i);

    //cout<<"================result======================"<<endl;

    //dispaly(a,i);



    //insertSort(a,i);



    selectSort(a,i);

    dispaly(a,i);

    

    return 0;

}

c++算法联系,冒泡排序,bubble sort,插入排序,insert sort,的更多相关文章

  1. Java中的经典算法之冒泡排序(Bubble Sort)

    Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一 ...

  2. java排序算法之冒泡排序(Bubble Sort)

    java排序算法之冒泡排序(Bubble Sort) 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数 ...

  3. 【排序算法】冒泡排序(Bubble Sort)

    0. 说明 参考 维基百科中的冒泡排序 冒泡排序 (Bubble Sort) 是与插入排序拥有相等的执行时间,但是两种算法在需要的交换次数却很大地不同. 在最坏的情况,冒泡排序需要 O(n2)  次交 ...

  4. 快速排序算法回顾 --冒泡排序Bubble Sort和快速排序Quick Sort(Python实现)

    冒泡排序的过程是首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换,然后比较第二个记录和第三个记录的关键字.以此类推,直至第n-1个记录和第n个记录的关键字进行过比较为止 ...

  5. c#经典算法之冒泡排序(Bubble Sort)

    转载于:https://www.cnblogs.com/shen-hua/p/5422676.html 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面, ...

  6. 分享知识-快乐自己:Java中的经典算法之冒泡排序(Bubble Sort)

    原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将 ...

  7. 基础算法之冒泡排序Bubble Sort

    原理 将相邻的数据两两进行比较,按照从小到大或者从大到小的顺序进行位置交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后从头开始再次进行两两比较交换,直到倒数第二位时结束.按照此规则,若干 ...

  8. 算法:冒泡排序(Bubble Sort)、插入排序(Insertion Sort)和选择排序(Selection Sort)总结

    背景 这两天温习了 5 中排序算法,之前也都看过它们的实现,因为没有深入分析的缘故,一直记不住谁是谁,本文就记录一下我学习的一些心得. 三种排序算法可以总结为如下: 都将数组分为已排序部分和未排序部分 ...

  9. [算法] 冒泡排序 Bubble Sort

    冒泡排序(Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没 ...

随机推荐

  1. 【C/C++运行时库】 /MT /MTd /MD /MDd对C/C++运行库的影响

    欢迎转载 转载请注明出处:http://www.cnblogs.com/cuish/p/3146937.html 测试VS中[项目属性]-[C/C++]-[代码生成]选项中的[运行库]- [ /MT, ...

  2. 设计模式_Facade_门面模式

    形象例子: 我有一个专业的Nikon相机,我就喜欢自己手动调光圈.快门,这样照出来的照片才专业,但MM可不懂这些,教了半天也不会.幸好相机有Facade设计模式,把相机调整到自动档,只要对准目标按快门 ...

  3. 包含到cocos2d-x里的tcpsocket源码

    声明:本文参考了langresser发布的blog“跨平台的游戏客户端Socket封装” Socket处理是异步非阻塞的,所以可以放心的放到主线程处理消息,并且在原作者的基本上进行了系列优化,考虑了客 ...

  4. 你所不知道的五件事情--java.util.concurrent(第二部分)

    这是Ted Neward在IBM developerWorks中5 things系列文章中的一篇,仍然讲述了关于Java并发集合API的一些应用窍门,值得大家学习.(2010.06.17最后更新) 摘 ...

  5. iOS7自定义statusbar和navigationbar的若干问题

    当然有许多问题是这篇文章中没有提到的,按照文章的方法进行设置,你可能会遇到以下问题: 1.navigationbar的背景图片自定义以后,statusbar虽然和navigationbar共用了背景图 ...

  6. FreeModbus for stm32(Keil工程)——精简Modbus slave协议【worlsing笔记】

    FreeModbus For stm32:点击下载源码 1.测试环境Keil MDK 4.7a  stm32f103c8, PB12为输出线圈,    可以通过Modbus Poll来控制线圈的输出状 ...

  7. win10中android studio中的terminal不能输入

    1 打开CMD窗口右击           2    3 重启电脑,你试试就知道了.  

  8. SVG 矢量图形格式

    SVG(Scalable Vector Graphics)是基于 XML 的一种矢量图形格式,它即可以作为单独的图形文件使用也可以嵌入到网页中并由 JavaScript 来操作,非常方便和灵活.SVG ...

  9. android应用程序fps meter[帧数显示]的分析 —— 浅谈root的风险 (3)

    上节已经详细说了下注入过程,最后寄生进程在宿主进程中下了个蛋,这下完的蛋有什么作用呢?接下来再具体分析一下. lib0的感染过程分析 对于本例注入的so动态库,首先看一下so的符号: $ readel ...

  10. poj 2251 搜索

    Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13923   Accepted: 5424 D ...