码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法(一)

时间:2015-12-24 00:32:22      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

    刚开始自己的博客,就从最基本的排序算法开始吧,最近自己也在复习算法相关的内容。

    这里先讲讲时间复杂度为O(n2)的几种排序算法吧——冒泡排序,选择排序,插入排序;以上排序皆以升序为例,数组为list[begin..........end]。

    冒泡排序:

  名字很形象,就像烧开水冒泡一下,小的在底下,大的在上面; 算法原理就是重头到尾,相邻的两个元素进行比较,如果前面的元素大于后面的元素(即list[i]>list[i+1]),那就进行交换,一直遍历到最后,那么一次遍历完了之后保证最后一个元素是最大的,接下来在遍历begin到end-1的数组,以同样的方式,完成冒泡交换。

    上代码:

  #include <iostream>
  using namespace std;

  void swap(int &a,int &b)
  {
    int temp=a;
    a=b;
    b=temp;
    return;
  }
  void Bubble_sort(int list[],int begin,int end)
  {
    for(int i=end;i>begin;i--)
    {
      for(int j=0;j<i;j++)
        if(list[j]>list[j+1])
          swap(list[j],list[j+1]);

    }
    return;
  }
  int main()
  {
    int list[10]={1,3,34,536,23,65,3,56,78,55};
    Bubble_sort(list,0,9);
    for(int i=0;i<10;i++)
      cout <<list[i]<<" ";
    cout<<endl;
    system("pause");
  }

排序算法(一)

标签:

原文地址:http://www.cnblogs.com/hit-joseph/p/5071602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!