c++冒泡法(从小到大)
新人要开始学习c++了,死磕到底hhhhhhh
冒泡法就是看上去难,但是真的不难,脑子转不下来自己写写画画就很清楚;
写写画画以后,神奇的发现,外层循环执行第一次(i=0)时,内循环一共执行了n-1次,此时最大的数就被移到了最后一位(假装它被焊死了),因此第二次执行外循环(i=1)的时候,内循环可以少比较一次,也就是n-2次。
```c++
// 冒泡法排序
int main()
{
int i,j,t;
int n;
int a[10086]; //开辟一个静态的内存空间;
cout<<"请输入比较个数:"<<endl;
cin>>n;
cout<<"请输入需要比较的数字:";
for(i=0;i<n;i++)
{
cin>>a[i]; //遍历读入数组a的值;
}
for(i=0;i<n-1;i++) //整个外循环执行n-1次;
{
for(j=0;j<n-1-i;j++) //内循环随着外循环增加而减少,因为每一次外循环,都有个数被焊死啦
{
if(a[j]>a[j+1]) //后一项与前一项比较,大的往后去
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
for(i=0;i<n;i++) //遍历输出每一个数;
{
cout<<a[i];
}
return 0;
}
有不对的还请大家给我提(点头感谢)