您的位置:首页 > 编程语言 > C语言/C++

冒泡算法

2015-12-16 12:09 381 查看
#include <iostream>
using namespace std;
void maopao(int a[],int n){//n = sizeof(a)/sizeof(int); 是数组的长度
//int temp;
for (int i=0;i<n;i++)
{
for (int j=i+1;j<n;j++)
{
if (a[i]>a[j])
{
a[i]=a[i]+a[j];
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
//temp = a[j];
//a[j]=a[i];
//a[i]=temp;
}
}
}
}

void printData(int *a, int n)
{
for (int i=0;i<n;i++)
{
cout<<a[i]<<endl;
}
}
int* findMax(int *a,int n){
//return ARRAY 返回的是数组的指针
//方便返回多个值  第一个是最大值,第二个是这个最大值的位置索引
int temp=a[0],address=1;
for (int i=1;i<n;i++)
{
if (temp<a[i])
{
temp=a[i];
address = i+1;
}
}
int *p = new int[2];
p[0]=temp;
p[1]=address;
return p;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[]={1,2,3,5,6,7,8,9,6,5,4,0,0,0,0,0,15,14};//Test Array
printData(findMax(a,sizeof(a)/sizeof(int)),2);
cout<<"_____________________"<<endl;
maopao(a,sizeof(a)/sizeof(int));
printData(a,sizeof(a)/sizeof(int));
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 c++