2021-08-07 C++重组小于原数最大值

void 重组小于原数最大值()
{//缘由https://ask.csdn.net/questions/7485574?spm=1005.2025.3001.5141
	int x = 0, j = 0, d = 0;
	char a[474]{"652362245679"},h=0;
	//std::cin >> a;
	while (a[d] != '\0')++d;
cf:
	x = j = d; --x;
	while (j)
	{
		if ((a[j - 1] - '0') < 9 && x)
		{
			if (a[j - 1] < a[x - 1])
			{
				h = a[j - 1], a[j - 1] = a[x - 1], a[x - 1] = h; break;
			}
			else
				--x;
		}
		else
			x = --j - 1;
	}
	if (!j) goto js;
	j = x; ++j;
	while (x < d - 1)
	{
		if (a[x] < a[j])
		{
			h = a[j], a[j] = a[x], a[x] = h;
		}
		if (++j == d)
		{
			j = ++x + 1;
		}
	}
	std::cout << a << std::endl;
	goto cf;
js:std::cout << "木油得啦!" << std::endl;
}

2021-08-07 C++重组小于原数最大值_第1张图片

2021-08-07 C++重组小于原数最大值_第2张图片

你可能感兴趣的:(c++,算法,经验分享,笔记,c语言)