HD-ACM算法专攻系列——排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HD-ACM算法专攻系列——排序相关的知识,希望对你有一定的参考价值。

题目描述:

技术分享

 

源码:

 

#include"iostream"
#include"string"
using namespace std;

void Order(int *p, int n)
{
	int tmp;
	if(n < 2)return;
	for(int i = 0; i < n - 1; i++)
	{
		for(int j = 0; j < n - i - 1; j++)
		{
			if(p[j] > p[j + 1])
			{
			    tmp = p[j];
				p[j] = p[j + 1];
				p[j + 1] = tmp;
			}
		}
	}
}


int main()
{
	string str;
	int nums[501], count, start, len, num;
	bool ok;
	while(cin>>str)
	{
		count = 0;
		start = 0;
		len = str.length();
		for(int i = 0; i < len; i++)
		{
			if(str[i] == ‘5‘)
			{
				start++;
			}
			else
			{
				break;
			}
		}
		num = 0;
		ok = true;
		for(int i = start; i < len; i++)
		{
			if(str[i] != ‘5‘)
			{
				ok = true;
				num = num * 10 + (str[i] - ‘0‘);
			}
			else
			{
				if(ok)
				{
					nums[count] = num;
					count++;
					num = 0;
					ok = false;
				}
			}
		}
		if(str[len - 1] != ‘5‘)
		{
			nums[count] = num;
			count++;
		}
		
		Order(nums, count);
		for(int i = 0; i < count; i++)
		{
			if(i > 0)cout<<" ";
			cout<<nums[i];
		}
		cout<<endl;
	}
    return 0;
}

  

以上是关于HD-ACM算法专攻系列——排序的主要内容,如果未能解决你的问题,请参考以下文章

HD-ACM算法专攻系列(21)——Wooden Sticks

HD-ACM算法专攻系列(17)——考试排名

HD-ACM算法专攻系列(11)——Exponentiation

HD-ACM算法专攻系列(16)——考试排名

HD-ACM算法专攻系列——大菲波数

HD-ACM算法专攻系列——N!