求一算法
有一个队列是 4 7 2 8 1 6 3 5
以下是其每次的排列顺序,并输出如下:
7 2 8 1 6 3 5 4
2 8 1 6 3 5 4 7
8 1 6 3 5 4 7 2
1 6 3 5 4 7 2 8
6 3 5 4 7 2 8 1
3 5 4 7 2 8 1 6
5 4 7 2 8 1 6 3
求教这个算法应该怎么写??
问题点数:20、回复次数:3Top
1 楼qiushuiwuhen(秋水无恨)回复于 2006-03-03 22:46:42 得分 6
arr=4 7 2 8 1 6 3 5
nCount = 8
for nStart = [1,nCount)
{
for nCur = [nStart,nCount) print arr[nCur]
for nCur = [0,nStart) print arr[nCur]
}Top
2 楼xing_xing_xing(哈哈)回复于 2006-03-03 23:16:10 得分 12
#include <iostream>
void main()
{
int data[] = {4, 7, 2, 8, 1, 6, 3, 5};
int start = 1;
int cnt = sizeof(data) / sizeof(data[0]);
for(int k = 0; k < 7; k++)
{
for(int i = 0; i < sizeof(data) / sizeof(data[0]); i++)
{
cout << data[(i + start) % cnt] << " ";
}
cout << endl;
start++;
}
}Top
3 楼cyblueboy83(爱情白痴—电脑迷)回复于 2006-03-03 23:51:15 得分 2
学习
Top




