冒泡排序 但是函数错误
查看原帖
冒泡排序 但是函数错误
811469
None_g楼主2023/11/28 11:25

之前偷懒用的sort

#include<bits/stdc++.h>
using namespace std;
long long int n,a[100000];
int main()
{
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	sort (a+1,a+n+1);
	for (int i=1;i<=n;i++)
	{
		cout<<a[i]<<" ";
	}
    return 0;
}

然后学了冒泡,编了一个至少能用的冒泡函数

#include<bits/stdc++.h>
using namespace std;
void mpsort (int A[],int x)
{
	int n,b;
	do
	{
		for(int i=2;i<=x;i++)
		{
			if (A[i]<=A[i-1])
			{
				n=A[i];
				A[i]=A[i-1];
				A[i-1]=n;
			}
		}
		b++;
	}while (b<=x);
}

两个都能用,但是合在一起

#include<bits/stdc++.h>
using namespace std;
void mpsort (int A[],int x)
{
	int n,b;
	do
	{
		for(int i=2;i<=x;i++)
		{
			if (A[i]<=A[i-1])
			{
				n=A[i];
				A[i]=A[i-1];
				A[i-1]=n;
			}
		}
		b++;
	}while (b<=0.7*x);
}
long long int n;
int a[100000];
int main(void)
{
	cin>>n;
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	mpsort(a[100000],n);
	for (int i=1;i<=n;i++)
	{
		cout<<a[i]<<" ";
	}
    return 0;
}

就不行了,救救

2023/11/28 11:25
加载中...