首页 > 其他分享 >1.8 冒泡排序

1.8 冒泡排序

时间:2023-04-24 18:56:01浏览次数:42  
标签:cnt cout int 1.8 交换 冒泡排序

第一部曲:

从头到尾扫描数组的数,进行n-1轮,每次进行n-i次比较,因为经过前面i次,后面i个数已经确定了大小,不用再参与比较,如果后面的数大与前面的数就交换,第一轮结束后就把最大的数放在了最后,后面继续比较。需要注意两个数交换的时候要引入一个中间数,利用中间数才能进行交换。

第二部曲:

 

第三部曲:

for(i=1;i<N;i++)//进行n-1轮比较
{
for(j=0;j<N-i;j++)//每次比较n-i次
{
if(a[j+1]<a[j])//如果后面的数小,就交换
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}

第四部曲:

#include<iostream>
using namespace std;
const int N=10;//
int main()
{
int i,j,a[N],t;
for(i=0;i<N;i++)
cin>>a[i];//输入a数组中的值
for(i=1;i<N;i++)//进行n-1轮比较
{
for(j=0;j<N-i;j++)//每次比较n-i次
{
if(a[j+1]<a[j])//如果后面的数小于前面的数,就交换
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
int cnt=0;
for(i=0;i<N;i++)
{
cnt++;
cout<<a[i]<<" ";
if(cnt%5==0)//五次一行
cout<<endl;
}
return 0;

}

标签:cnt,cout,int,1.8,交换,冒泡排序
From: https://www.cnblogs.com/wsc6/p/17349114.html

相关文章

  • The binary version of its metadata is 1.8.0, expected version is 1.5.1.
    C:/Users/sdt16354/.gradle/caches/transforms-3/b92f389f516aa233b37ae70b7a7c1337/transformed/jetified-annotation-jvm-1.6.0.jar!/META-INF/annotation.kotlin_module:ModulewascompiledwithanincompatibleversionofKotlin.Thebinaryversionofitsmetadata......
  • 冒泡排序
    一、问题描述对N个整数(数据由键盘输入)进行升序排列二、问题分析:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若......
  • 冒泡排序
    #include<iostream>usingnamespacestd;intmain(){ ios::sync_with_stdio(0); cin.tie(0); intn,i,j,t,x,flag=0; cin>>n; int*arr=newint[n]; for(i=0;i<n;i++) cin>>arr[i]; for(i=0;i<n;i++) { for(j=n-1;......
  • 冒泡排序
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(void){ intarr[4]={1,3,2,'\0'};//加上'\0'后由数组变成字符串 inti,j,temp; for(i=0;i<2;i++) { for(j=0;j<3-i-1;j++) {  if(arr[j]>arr......
  • 冒泡排序
    1,问题描述:对N个整数(数据由键盘输入)进行升序排列。2.问题分析:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若相......
  • jdk1.8 LocalTime、LocalDate、LocalDateTime 使用大全
    目录LocalTime、LocalDate、LocalDateTime区别LocalTime、LocalDate、LocalDateTime使用now获取当前时刻、日期、时间of获取指定时刻、日期、时间plus||minus增加或者减少更改指定的时间isAfter||isBefore比较大小compareTo时间比较LocalTime、LocalDate、LocalDate......
  • Ubuntu/Debian 安装openJDK 1.8
     导入AdoptOpenJDKGPGkewget-qO-https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public|sudoapt-keyadd-1导入DEBRepositorysudoadd-apt-repository--yeshttps://adoptopenjdk.jfrog.io/adoptopenjdk/deb/1若terminal提示Commandnot......
  • 指针配合数组和函数案例(冒泡排序)
    #include<iostream>usingnamespacestd;voidmaopao(int*arr,intlen){ for(inti=0;i<len-1;i++) { for(intj=0;j<len-i-1;j++) { if(arr[j]>arr[j+1]) { inttemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }}voidprintf(int*arr,in......
  • 冒泡排序
    问题:对N个整数,由键盘输入,进行升序排序。设计:首先定义一个数组,可以盛放n个元素,利用for循环输入数组中每个元素的值,定义for循环j=1,j<=n-1,j++经过举例,需要n-1个轮回,j的for循环中嵌套i的for循环,i=0;i<n-j,i++经过举例,每次比较的次数为n-j次,因为j次轮回时,最后的j个元素就已经是按顺序......
  • 冒泡排序
    问题描述:键入N个整数进行升序排序。 1.第一行输入N表示输入的数字的个数  2.用循环输入数字;  3.定义i控制比较次数,定义j控制每次比较的次数;  4.如果后面的数小于前面的数,将两数位置交换。 #include<iostream>usingnamespacestd;intmain(){ intN,a[1000]; ......