起泡排序.cpp

来自「3个关于排序的C程序」· C++ 代码 · 共 37 行

CPP
37
字号
#include <iostream.h>
#include <stdlib.h>
// 从小到大排序函数返回指针原数组的序号
int *bubble(int a[],int size)
{ int i,k,*b;
  int temp;

  b=(int *)malloc(size*sizeof(int));
  for(i=0;i<size;i++)
    b[i]=i+1;
  for(int pass=1;pass<size;pass++)
    { for(i=0;i<size-pass;i++)
      if(a[i]>a[i+1])
        { temp=a[i];    k=b[i];
          a[i]=a[i+1];  b[i]=b[i+1];
          a[i+1]=temp;  b[i+1]=k;
          }
      }
   return b;
   }

void main (  )
{ int a[6]={1,0,5,4,2,1},*b;
  int i;
  for( i=0; i<6; i++ )
   cout << "a[" << (i+1) << "]=" << a[i] << "\n";

  b=bubble(a,6);
  cout <<"\n";
  for( i=0; i<6; i++ )
   cout << "a[" << (i+1) << "]=" << a[i] << "\n";
  for(i=0; i<6; i++ )
   cout << b[i] << " ";

  cin >>i;
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?