当前位置:编程学习 > C/C++ >>

冒泡排序的C++代码

答案:【冒泡排序算法】

void BubbleSort(DataType A[], int n)
{ //采用冒泡排序的方法对数组A中的n的元素排序

DataType x;//用于交换时的暂存
int i,j;
bool exchange;

for(i=0;i<n;i++)
{
exchange=false;
for(j=n-1;j>i;j--)
{
if(A[j]<A[j-1])
{//交换记录
x=A[j];
A[j]=A[j-1];
A[j-1]=x;
exchange=true;
}
}
if(!exchange)
{
//如果本趟排序未发生交换,提前交换终止算法
return;
}
}
return;
}

【使得例子】

#include "iostream"
using namespace std;
#define DataLeng 5
typedef int DataType;

//显示数据:
void printData(DataType A[], int n)
{

for(int i=0;i<n;i++)
{
cout<<A[i]<<" ";
}
cout<<endl;
return;
}


//冒泡排序:
void BubbleSort(DataType A[], int n);

void main()
{

int data[5]={3,8,5,4,6};

//排序前:
cout<<"<1>没有排序前的顺序是:"<<endl;
printData(data,DataLeng);

//排序:
BubbleSort(data,DataLeng);

//排序后:
cout<<"<2>排序后的顺序是:"<<endl;
printData(data,DataLeng);

return;
}

#include <iostream>
  #define LEN 9
  using namespace std;
  int main(){
  int nArray[LEN];
  for(int i=0;i<LEN;i++)nArray[i]=LEN-i;
  cout<<"原始数据为:"<<endl;
  for(int i=0;i<LEN;i++)cout<<nArray[i]<<" ";
  cout<<endl;
  //开始冒泡
  {
  int temp;
  for(int i=LEN-1;i>=0;i--)
  for(int j=0;j<i;j++){
  if(nArray[j]>nArray[j+1]){
  temp=nArray[j];
  nArray[j]=nArray[j+1];
  nArray[j+1]=temp;
  }
  }
  }
  //结束冒泡
  cout<<"排序结果:"<<endl;
  for(int i=0;i<LEN;i++)cout<<nArray[i]<<" ";
  return 0;
  }

上一个:C++的system函数怎样使用?
下一个:通讯录怎样用C++编写啊

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,