4.26 1.8

一、问题描述

n个整数进行升序排列

二、分析

冒泡排序:从表头开始一 一对比互换,第一个元素比较完以后,第二个元素从第三个元素开始比较互换。

假设有n个元素,最坏的情况下需要比较的次数为:[(n-1)+(n-2)+······+2+1]

一个数组a,数组下标用j表示,数组元素即为a[j]、a[j+1]、a[j-1]等。

三、代码

#include<iostream>
using namespace std;
#define N 10
int main()
{
int i,j,t,count=0;
int a[N];
cout<<"请为数组元素赋值:"<<endl;
for(i=0;i<N;i++)
cin>>a[i];//输入N个元素
for(i=1;i<=N-1;i++)//i循环的是指定元素,j循环的是与该元素比较的元素
for(j=0;j<N-i;j++)//开始循环比较
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
cout<<"元素变换后为:"<<endl;
for(i=0;i<N;i++)
{count++;
cout<<a[i]<<" ";
if(count%5==0)
cout<<endl;
}
cout<<endl;
}

四、结果

 

posted @     阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示