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

冒泡排序

时间:2023-05-07 22:01:40浏览次数:28  
标签:sort sz arr int 冒泡排序 sizeof bubble

void bubble_sort(int arr[],int sz)//这里的arr[]传递的是首地址
{
	int i=0;
for(i=0;i<sz-1;i++)//一共进行多少趟
	{int j=0;
  for(j=0;j<sz-1-i;j++)//每一趟进行多少次冒泡排序
  	{
  	if(arr[j] > arr[j+1])//如果判定条件成立将上一个数值赋值给下一个数值
    {
  	int temp=arr[j];
  	arr[j]=arr[j+1];
  	arr[j+1]=temp;}
  }
}
}
#include<stdio.h>
int main(){
	int arr[]={9,8,7,6,5,4,3,2,1,0};
	int sz=sizeof(arr)/sizeof(arr[0]);//sizeof中的arr代表的是整个数组
	bubble_sort(arr,sz);
	for(int  i=0;i<sz;i++)
	{
	printf("%d\n",arr[i]);
	}	
	return 0;
}

标签:sort,sz,arr,int,冒泡排序,sizeof,bubble
From: https://blog.51cto.com/u_16071871/6252622

相关文章

  • 一篇文章讲明白冒泡排序
    原文点此跳转什么是冒泡排序(bubbleSort)?冒泡排序是所有排序算法中最简单的一种,当然也是性能最差的一种。冒泡排序的思想其实很简单,就如它的名字一样在水中"冒泡"。水中有很多散乱的小气泡,然后一个个气泡往水面上冒出。例如一组无序的数组,最左边就是水底,最右边就是水面,最左边的元素......
  • 手把手教你掌握冒泡排序思路
    完整代码:#include<stdio.h>bubble_sort(intarr[],intsz){inti=0;intj=0;for(i=0;i<sz-1;i++){for(j=0;j<sz-1-i;j++){if(arr[j]>arr[j+1]){inttmp=arr[j];arr[j]=arr[j+1];arr[j+1]=tmp;}}}}intmain(){intarr[10]=......
  • 8冒泡排序
    #include<iostream>usingnamespacestd;#defineN10intmain(){ intarr[N],a,k,i,j,count; cin>>a; for(i=0;i<a;i++){ cin>>arr[i]; } for(i=0;i<a;i++){ for(j=i+1;j<a;j++){ k=arr[j]; if(k<arr[i]){ arr[j]=arr[i]; arr[i]=......
  • c语言趣味编程(8)冒泡排序
    一、问题描述对n个整数进行升序排列(数据由键盘键入)二、设计思路(1)读取从键盘键入的n个数据,存入数组a中;(2)用for循环对数组a中的数据进行遍历,并用if语句来判断大小,按从小到大存入;(3)遍历输出数组中已经完成升序排列的数组元素;三、程序流程图 四、伪代码五、代码1#include......
  • 冒泡排序
    问题描述:对N个整数(数据由键盘输入)进行升序排列。这里采用五个数。代码如下:#include<iostream>#include<vector>usingnamespacestd;intmain(){ inta[5],t; for(inti=0;i<5;i++){ cin>>a[i]; } for(inti=1;i<=4;i++){ for(intj=0;j<......
  • 排序算法之详解冒泡排序
    引入冒泡排序顾名思义,就是像冒泡一样,泡泡在水里慢慢升上来,由小变大。虽然冒泡排序和冒泡并不完全一样,但却可以帮助我们理解冒泡排序。思路一组无序的数组,要求我们从小到大排列我们可以先将最大的元素放在数组末尾再将第二大的数放在数组的倒数第二个位置再将第三大......
  • 冒泡排序详解
    引入:::tips冒泡排序顾名思义,就是像冒泡一样,泡泡在水里慢慢升上来,由小变大。虽然冒泡排序和冒泡并不完全一样,但却可以帮助我们理解冒泡排序。:::思路:::tips一组无序的数组,要求我们从小到大排列我们可以先将最大的元素放在数组末尾再将第二大的数放在数组的倒数第二......
  • 1.8 冒泡排序
    #include<stdio.h>#defineN10intmain(){ints[N],i,j,a[N],t,count=0;printf("请为数组元素赋初值:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N-1;j++)if(a[......
  • 1.8 冒泡排序
    第一部曲:从头到尾扫描数组的数,进行n-1轮,每次进行n-i次比较,因为经过前面i次,后面i个数已经确定了大小,不用再参与比较,如果后面的数大与前面的数就交换,第一轮结束后就把最大的数放在了最后,后面继续比较。需要注意两个数交换的时候要引入一个中间数,利用中间数才能进行交换。第二部曲:......
  • 冒泡排序
    一、问题描述对N个整数(数据由键盘输入)进行升序排列二、问题分析:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若......