转载自:http://blog.csdn.net/wwttqq85538649/archive/2009/10/08/4643587.aspx
// improve_bubble.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include"iomanip.h"
#include "iostream.h"
#define MAXSIZE 100
//交换两个元素的值
void swap(int &a,int &b)
{
int temp;
temp = a;
a = b;
b = temp;
}
//改进的冒泡算法
void improve_bubble(int a[],int n)
{
int i,k,flag;
k = n-1;
flag = 1;
while(flag)
{
k = k-1;
flag = 0;
for(i = 0 ; i <= k ; i ++ )
if(a[i] > a[i+1])
{
swap( a[i] , a[i+1] );
flag = 1;
}
}
}
int main(int argc, char* argv[])
{
int a[MAXSIZE],n,i;
cout<<"please input the numbers of array"<<endl;
cin>>n;
cout<<"please input every value of element"<<endl;
for(i = 0;i < n;i++)
{
cout<<"please input the"<<setw(5)<<i<<setw(35)<<"element(enter Enter to switch):"<<endl;
cin>>a[i];
}
improve_bubble(a,n);
for(i = 0;i < n;i++)
cout<<a[i]<<setw(8);
return 0;
}