程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 冒泡排序

冒泡排序

編輯:C++入門知識


#include <stdio.h>

void swap(int *a,int *b)

 int temp;
 temp=*a;
 *a=*b;
 *b=temp;

}

/************/
/* 升序            */
/************/
//小的往上冒泡
void maopaosort(int a[],int n)
{
 for (int i=0;i<n-1;i++)
 {
  for (int j=n-1;j>i;j--)
  {
   if (a[j]<a[j-1])
   {
    swap(&a[j],&a[j-1]);
   }
  }
 }
}

//大的往下沉
void maopaosort2(int a[],int n)
{
 for (int i=0;i<n-1;i++)
 {
  for (int j=0;j<n-i-1;j++)
  {
   if (a[j]>a[j+1])
   {
    swap(&a[j],&a[j+1]);
   }
  }
 }
}

/************/
/* 降序            */
/************/

void maopaosort3(int a[],int n)
{
 for (int i=0;i<n-1;i++)
 {
  for (int j=n-1;j>i;j--)
  {
   if (a[j]>a[j-1])
   {
    swap(&a[j],&a[j-1]);
   }
  }
 }
}


void printfary(int a[],int n)
{
 int i=0;
 for (;i<n;i++)
 {
  printf("%d   ",a[i]);
 }
 printf("\n");
}

int main()
{
 int a[4];
 printf("Please enter the Numbers:  \n");
 for (int i=0;i<4;i++)
 {
  
  printf(" NO. %d  : ",i+1);
  scanf("%d",&a[i]);
 }
 printf("Before ordering: \n");
 printfary(a,4);

 maopaosort(a,4);
 printf("Ascending order: \n");
 printfary(a,4);

 maopaosort2(a,4);
 printf("Ascending order: \n");
 printfary(a,4);

 maopaosort3(a,4);
 printf("In descending order: \n");
 printfary(a,4);

 return 0;
}

 

運行結果:

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved