您的位置:首页 > 其它

排序算法-冒泡排序

2014-05-15 19:55 274 查看
从基础重新抓起。

冒泡排序:每次从数组头到尾选出最大或者最小的,排到尾部或者头部。以排序结果从小到大为例:

每次从数组中把最大的调换到末尾。

eg.元素个数:count,需要找count-1次(外循环,最后一次不用再做比较了),每次从头到末尾没有确定的数据中找最大的(内循环),做法就是比较相邻两个元素的大小,大的向后移动。

贴出代码:

void BubbleSort::Sort(int elements[],int count)

{

this->count=count;

cout<<"count:"<<this->count<<endl;

cout<<"original:"<<endl;

for(int i=0;i<this->count;i++)

{

cout<<" "<<elements[i];

}

cout<<endl;

for(int i=0;i<this->count-1;i++)

{

for(int j=0;j<this->count-i-1;j++)

{

if(elements[j+1]<elements[j])

{

int tmp=elements[j+1];

elements[j+1]=elements[j];

elements[j]=tmp;

}

}

}

cout<<"sorted:"<<endl;

for(int i=0;i<this->count;i++)

{

cout<<" "<<elements[i];

}

cout<<endl;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: