冒泡排序的C++实现
2015-09-15 16:33
489 查看
冒泡排序的基本思想:
冒泡排序的核心是对所有相邻数组元素的值进行比较,如果是逆序(a[i]>a[i+1]),则两者交换,最终达到有序。
步骤:
(1)比较第一个数a[0]和第二个数a[1],如果a[0]>a[1],则,两个数组元素的值交换;然后接着比较第二个数a[1]和第三个数a[2],以此类推,直到第n-1个数a[n-1]与第n个数a
比较为止。这个过程是第一趟冒泡排序,其结果是将数组中最大的值放到了最后一个位置上。
(2)第二趟冒泡排序,是对前n-1个元素做第一步的处理,结果使第二大的数放在倒数第二个位置上。
(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
实现代码:
#include <iostream>
using namespace std;
int main()
{
//xulie[10]为初始数组,目标是对这个数组排序
int xulie[10]={2,5,7,9,8,34,45,3,4,1};
for(int i=10;i>0;i--)
for(int j=0;j<9;j++)
{
if (xulie [j]>xulie[j+1])
{
int a = xulie[j] ;
xulie[j]=xulie[j+1];
xulie[j+1]=a;
}
}
cout<<"排序结果为:"<<endl;
for(int k=0;k<10;k++)
{
cout<<xulie[k]<<endl;
}
}
冒泡排序的核心是对所有相邻数组元素的值进行比较,如果是逆序(a[i]>a[i+1]),则两者交换,最终达到有序。
步骤:
(1)比较第一个数a[0]和第二个数a[1],如果a[0]>a[1],则,两个数组元素的值交换;然后接着比较第二个数a[1]和第三个数a[2],以此类推,直到第n-1个数a[n-1]与第n个数a
比较为止。这个过程是第一趟冒泡排序,其结果是将数组中最大的值放到了最后一个位置上。
(2)第二趟冒泡排序,是对前n-1个元素做第一步的处理,结果使第二大的数放在倒数第二个位置上。
(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
实现代码:
#include <iostream>
using namespace std;
int main()
{
//xulie[10]为初始数组,目标是对这个数组排序
int xulie[10]={2,5,7,9,8,34,45,3,4,1};
for(int i=10;i>0;i--)
for(int j=0;j<9;j++)
{
if (xulie [j]>xulie[j+1])
{
int a = xulie[j] ;
xulie[j]=xulie[j+1];
xulie[j+1]=a;
}
}
cout<<"排序结果为:"<<endl;
for(int k=0;k<10;k++)
{
cout<<xulie[k]<<endl;
}
}
相关文章推荐
- 一个技术博客,关于PE_C++_驱动_病毒
- C++中结构体的类型定义和初始化以及变量引用
- C++内存管理
- C语言实现单链表-02版
- c++11——可变参数模板
- C++的深拷贝与浅拷贝
- 基于C语言中野指针的深入解析
- Bezier曲线原理及实现代码(c++)
- 使用_beginThreadex创建多线程(C语言版多线程)
- C++多线程技术--API
- c++程序执行时候,有的语句根本不执行的原因
- 在c++项目中对于stl的使用检验
- C/C++小程序学习:n*n魔方矩阵实现每行、每列、每一对角线上的元素之和相等
- C++ 临界区 多线程同步互斥
- C++使用临界区来控制多线程访问同一个变量
- 绝不要重新定义继承而来的缺省参数值(Effective C++_37)
- C++编程中将引用类型作为函数参数的方法指南
- C语言操作mysql
- C++算法原理与实践(面试中的算法和准备过程)
- 深入理解C++