排序算法c语言描述---冒泡排序

排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析。

文章规划:

一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。

二。通过《大话数据结构》一书的截图,详细分析该算法 。 

在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确实是通俗易懂,值得一看。

ps:一个较为详细的学习链接   http://blog.csdn.net/MoreWindows/article/category/859207

 

①冒泡排序

一。个人理解

冒泡法思路:依次将相临的两个数进行比较,将小的数调到前面,从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。

算法本身比较简单,直接上代码。

#include
// 打印结果
void Show(int  arr[] , int n)
{
    int i;
    for ( i=0; i arr[j+1] )
          {
              Swap( &arr[j], &arr[j+1] );
              flag = 1;  //如果有数据交换,则flag为1
          }
       }
    }
}

int main()
{   //测试数据
    int arr_test[10] = { 8, 4, 2, 3, 5, 1, 6, 9, 0, 7 };
    //排序前数组序列
    Show( arr_test, 10 );
    BubbleSort( arr_test, 10 );
    //排序后数组序列
    Show( arr_test, 10 );
    return 0;
}


 

二。 《大话数据结构》一书截图分析

注:本文仅为分享知识,绝无商业用途。

如果以该种形式分享知识造成不必要的纠纷,还请第一时间告知。


 

 排序算法c语言描述---冒泡排序_第1张图片排序算法c语言描述---冒泡排序_第2张图片排序算法c语言描述---冒泡排序_第3张图片排序算法c语言描述---冒泡排序_第4张图片排序算法c语言描述---冒泡排序_第5张图片排序算法c语言描述---冒泡排序_第6张图片

你可能感兴趣的:(c/c++,一步一步学算法,一步步学算法)