设为首页 加入收藏

TOP

起泡排序和简单选择排序小结
2014-11-23 22:06:49 来源: 作者: 【 】 浏览:8
Tags:起泡 排序 简单 选择 小结

起泡排序和简单选择排序都是一种很简单的排序方法,它们的时间复杂度都为O(N2). 其中起泡排序是一种稳定的排序方法,而简单选择排序是一种不稳定的排序方法.


这里直接贴代码


// 起泡排序和简单选择排序.cpp : 定义控制台应用程序的入口点。


#include "stdafx.h"
#include


using namespace std;


//交换a与b
void swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}


//冒泡排序
void BubbleSort(int * a,int len)
{
//进行len-1趟冒泡排序
for(int i=1;i {
bool exchage=false;//标记这一趟冒泡是否进行了数据交换,也就是标记是否排序完成
for(int j=0;j {
if(a[j]>a[j+1])
{
swap(a[j],a[j+1]);
exchage=true;
}
}
if(!exchage)
break;
}
}


//简单选择排序
void SelectSort(int *a,int len)
{
//将前面n-1个位置的数选择排好,最后一个自动排好了
for(int i=0;i {
int min=i;
for(int j=i+1;j {
if(a[j] min=j;
}
if(i!=min)
{
swap(a[i],a[min]);
}
}
}


//
void printArray(int *a,int len)
{
for(int i=0;i cout< cout<}


int _tmain(int argc, _TCHAR* argv[])
{
int a[]={49,38,65,97,76,13,27,49};
int len=sizeof(a)/sizeof(int);
printArray(a,len);
//BubbleSort(a,len);
SelectSort(a,len);
printArray(a,len);
system("PAUSE");
return 0;
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇求二叉树中两个节点的最低公共祖.. 下一篇AngularJS 的自定义指令

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: