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

数据结构算法

时间:2016-06-14 22:15:15      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

 

    在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这种排序方法是不稳定的。即所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,则说这种排序算法是稳定的,反之,就是不稳定的。

技术分享

一、冒泡排序

    冒泡排序(BubbleSort)的基本概念是:

    个人理解就是将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。

代码实现如下:

 

 1 #include"iostream"
 2 void insert(int *p,int num)
 3 {
 4     //大到小排序
 5     int i,j,temp;
 6     for(i=0;i<num;i++)
 7         for(j=i;j<num;j++)
 8             if(p[i]<p[j+1])
 9         {
10             temp=p[i];
11             p[i]=p[j+1];
12             p[j+1]=temp;
13         }
14         for(i=0;i<num;i++)
15         {
16             std::cout<<"p["<<i+1<<"] "<<p[i]<<"  ";
17         }
18 
19 }
20 int main()
21 {
22 
23     int a[6]={3,9,5,19,1,17};
24      insert(a,6);
25      system("pause");
26      return 0;
27 }

技术分享

数据结构算法

标签:

原文地址:http://www.cnblogs.com/-210843013/p/5585499.html

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