冒泡排序

别说谁变了你拦得住时间么 提交于 2019-12-28 11:28:09

冒泡排序:
算法步骤:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完 后,最后的元素会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

#include <iostream>
using namespace std; 
void bubbleSort(int r[])
{    
  int exchange = 6;   
  int a;    
  while(exchange)    
  {        
    a = exchange;     
    exchange = 0;       
 for(int j=1; j<a; j++)   
 {           
  if(r[j] > r[j+1]) 
  {      
   r[0] = r[j];  
   r[j] = r[j+1];                
   r[j+1] = r[0];               
   exchange = j;            
  }        
 }
  }
} 
int main()
{    
   int r[] = {0,15,28,32,25,18,16};   
   bubbleSort(r);   
   for(int i=1; i<=6; i++)        
   cout<<r[i]<<" ";    
   return 0;
}

C语言:

#include<stdio.h>
int main()
{
 int a[10];
 int i=0,j=0,temp;
 printf("请输入10个数:\n");
 for(i=0;i<=9;i++)
 {
  scanf("%d ",&a[i]);
 }
 for(i=0;i<9;i++)
 {
  for(j=0;j<9-i;j++)
  {
   if(a[j]>a[j+1])
   {
    temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
   }
  }
 }
 printf("排序后:\n");
 for(i=0;i<=9;i++)
 {
  printf("%d ",a[i]);
 }
 return 0; 
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!