⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 array.cpp

📁 常用算法与数据结构原代码
💻 CPP
字号:
#include <iostream.h>

int ColToRow(int k,int n)
{
	int i=k,j=0;
	while (i>j)
		i-=++j;
	return i*n+j-i*(i+1)/2;
}

void trans(int b[],int n)
{
	int m,k,r,c,w;
	m=(n+1)*n/2-4;
	k=2;
	while (m>0)
	{
		r=ColToRow(k,n);
		if (r==k)
			m--;
		else
		{
			c=k;w=r;
			while (r>k)
			{
				c=r;
				r=ColToRow(c,n);
			}
			if (r==k)
			{	
				c=k;r=w;w=b[k];
				while (r!=k)
				{
					b[c]=b[r];
					m--;
					c=r;
					r=ColToRow(c,n);
				}
				b[c]=w;
				m--;
			}
		}
		k++;
	}
}

void main()
{
	int b[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
	int i;
	for (i=0;i<15;i++)
		cout<<b[i]<<" ";
	cout<<endl;
	trans(b,5);
	for (i=0;i<15;i++)
		cout<<b[i]<<" ";
	cout<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -