排序算法-冒泡排序
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;
}
冒泡排序:每次从数组头到尾选出最大或者最小的,排到尾部或者头部。以排序结果从小到大为例:
每次从数组中把最大的调换到末尾。
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;
}
相关文章推荐
- 笔试面试系列---排序算法专辑---冒泡排序---错误答案纠正
- 排序算法-冒泡排序
- php排序算法(冒泡排序,快速排序)
- 排序算法之冒泡排序
- 排序算法:冒泡排序
- 排序算法入门之冒泡排序
- 排序算法-冒泡排序的三种实现
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- 排序算法-冒泡排序
- [031]八大排序算法详解——冒泡排序
- 常用排序工具类:标准【正序、倒序】排序算法‘冒泡排序,选择排序,快速排序’
- 元素排序几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 排序算法--冒泡排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- 排序算法-冒泡排序
- 经典的排序算法--选择排序与冒泡排序
- 排序算法Java——交换排序(之冒泡排序)
- 常用排序算法-冒泡排序
- 排序算法(1)-冒泡排序
- 排序算法总结(3)--冒泡排序