标题:[求助]一个关于类模版的问题
只看楼主
没牙的狼
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-23
 问题点数:0 回复次数:2 
[求助]一个关于类模版的问题
有M个人排圈,若从第n个人开始依次数S个人,输出数S数的人,再次数S个人(且上次输出的数不再参与数数),再次输出
依次类推..
用类模版实现,并输出每次数到S数的人...
模版已给出
template<class Type,m,n,s>
class Array
{private:
Type *elements;
int arraysize;
void getArray();
public:
Array();
Array(int sz);
Array(Type *x,int n);
void place(int i,Type item);
void display();//输出数组内容
Type &operator [](int i);//重载[],从类的对象中读出特定元素
Array<Type>&operator=(const Array<Type>&A);//重载=使可直接拷贝
int length()const
{return arraysize;}
~Array(){delete[] elements;}
}
各位大侠帮帮,可以给个算法,如何排这个顺序...谢谢了

[此贴子已经被作者于2006-7-4 15:28:13编辑过]

搜索更多相关主题的帖子: 类模版 Array int Type void 
2006-07-04 15:27
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 
约瑟夫问题,随便搜索一下:

http://kongfuziandlife. http://codeanddesign.
2006-07-04 21:05
没牙的狼
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-23
得分:0 
#include<iostream.h>
template<class Type>
class Array
{private:
Type *elements;
int arraysize;
void getArray()//怎么用?
{
}
public:
Array(){};
Array(int sz)
{
arraysize=sz;
}
Array(Type *x,int n)
{
elements=x;
arraysize=n;

}
void place(int i,Type item)
{
int l=-1+i,j=0,k=1;
while(1)
{
for(j=0;j<item;)
{
l=(l+1)%arraysize;
if(elements[l]!=-1)
j++;

}

if(k==item)
break;
cout<<elements[l]<<",";

elements[l]=-1;
k=k+1;
}
}
void display()//输出数组内容
{
int i;
for(i=0;i<arraysize;i++)
{
cout<<"数组初始元素"<<elements[i]<<endl;
}

cout<<"长度"<<length()<<endl;

}
Type &operator [](int i)
{
return elements[i];
}//重载[],从类的对象中读出特定元素
Array<Type>&operator=(const Array<Type>&A)
{
arraysize=A.arraysize;
elements=A.elements;
return this;
}//重载=使可直接拷贝
int length()const
{return arraysize;}
~Array(){delete[] elements;}
};
void main()
{
int a[]={1,2,3,4,5,6,7,8},i;
Array<int>obj1(a,4);
obj1.display();
obj1.place(2,4);
Array<int>obj2(6);
for(i=0;i<6;i++)
{obj2[i]=i+1;
cout<<"obj2"<<"[]"<<i<<obj2[i];
}
}
我自己编了一下,可不能排序,请指点一下,谢谢.

[此贴子已经被作者于2006-7-5 7:55:40编辑过]


2006-07-05 07:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-76491-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.207404 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved