CodeBeauty
春暖花开
posts - 6,comments - 3,trackbacks - 0
#include <iostream.h>
//输出函数
int Output(int b[],int length)
{
    
for (int i=0;i<length;i++)
    
{
        cout
<<b[i]<<"  ";
    }

    cout
<<endl;
    
return 1;
}

//冒泡算法
void BubbleSort(int arr[],int nLen)
{
    
for (int i=0;i<nLen;i++)
    
{
        
for (int j=0;j<nLen-i-1;j++)
        
{
            
if (arr[j]>arr[j+1])
            
{
                
int y=arr[j];
                arr[j]
=arr[j+1];
                arr[j
+1]=y;
            }

        }

    }

}

void main()
{
    
//int a[]={4,1,3,2,5};
    
//动态输入待排序数组
    int nLength;
    cout
<<"Enter the numble of nData: nLength=";
    cin
>>nLength;
    cout
<<endl<<"Enter nData(nLength values):";
    
int* nData=new int[nLength];
    
for (int i=0;i<nLength;i++)
    
{
        cin
>>nData[i];
    }

    
    cout
<<endl<<"former:"<<endl;
    Output(nData,nLength);
    cout
<<endl<<"later:"<<endl;
    
BubbleSort(nData,nLength);
    Output(nData,
nLength);
}
posted on 2012-05-09 12:13 代码之美 阅读(1577) 评论(1)  编辑 收藏 引用 所属分类: 经典排序算法(C/C++实现)

FeedBack:
# re: 冒泡排序BubbleSort[未登录]
2012-05-09 19:49 | ithaca
嗯,还有优化的空间。
如果在一次扫描的过程中,没有交换发生,则说明已经排好序了,回此,可以提前结束,而不必进行接下来多躺无用的比较。

同样是写冒泡,质量就在这里。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理