用户输入数字冒泡排序 且 排序时比较一次数字大小就显示出来一次 知道排序完
比如用户输入 3 1 6 4 2 则输出为
1 3 6 4 2
1 3 4 6 2
从小到大直到排序完
希望大神帮帮
[解决办法]
试试这个
#include <iostream>#include <fstream>#include <string>#define SIZE 100using namespace std;void swap(int &a,int &b); //交换参数的值bool bubble(int *array,int array_size); //冒泡排序void printarray(int *array,int array_size); //输出数组中元素int main(){ int array[SIZE],i,array_size; int temp; cout<<"请输入一个总数小于100的整型数组(Ctl+Z结束):"<<endl; for(i=0;i<SIZE&&cin>>temp;i++){ array[i]=temp; } array_size=i; do{ printarray(array,array_size); }while(bubble(array,array_size));}void swap(int &a,int &b){//交换参数的值 int temp=a; a=b; b=temp;}bool bubble(int *array,int array_size){//冒泡排序 bool flag=false; for(int i=0;i<array_size-1;i++) for(int j=i+1;j<array_size;j++) if(array[j]<array[j-1]){//交换 swap(array[j],array[j-1]); flag=true; } return flag;}void printarray(int *array,int array_size){//输出数组中元素 for(int i=0;i<array_size;i++){ cout<<array[i]<<' '; } cout<<endl;}