!mainCRTStartup()错误
[code=C/C++][/code]
//望各位大牛耐心帮我看看那里出错了。。万分感谢
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
template<class T>
class Node
{
private:
T num;
Node<T> *next;
public:
Node(){next=NULL;}
Node(T m,Node<T> *p)
{
num=m;
next=p;
}
T getNum() {return num;}
void setNum(T m) {num=m;}
Node<T> * getNext() {return next;}
void setNext(Node<T> *p) {next = p;}
};
template <class T>
class NodeLink
{
public:
NodeLink()
{
first=last=NULL;
first->setNum(0);
first->setNum(0);
first->setNext(last);
last->setNext(first);
}
int getLengh();
Node<T> *getFirst(){return first;}
Node<T> *locate(int m);
void insert();
void josephus(int n,int s,int m);
private:
Node<T> *first;
Node<T> *last;
};
template<class T>
void NodeLink<T>::josephus(int n,int s,int m)
{
Node<T> *current=new Node<T>;
Node<T> *pre;
current=locate(s);
for (int i=0;i<n-1;i++)
{
for (int j=1; j<m; j++)
{
pre=current;
current=current->getNext();
}
cout<<" 出列的人是:"<<current->getNum()<<endl;
pre->setNext(current->getNext());
delete current;
current=pre->getNext();
}
}
template<class T>
int NodeLink<T>::getLengh()
{
int count=0;
Node<T> *current=first->getNext();
while (current!=first)
{
count++;
current=current->getNext();
}
return count;
}
template<class T>
Node<T> *NodeLink<T>::locate(int m)
{
if (m<=0 || m>getLengh())
{
cerr<<"定位失败";
exit(1);
}
Node<T> *current;
current=first->getNext();
for (int i=1;i<=m;i++)
current=current->getNext();
return current;
}
template<class T>
void NodeLink<T>::insert()
{
T m;
Node<T> *newNode=new Node<T>;
if(newNode==NULL)
{
cerr<<" 动态分配空间错误"<<endl;
exit(1);
}
cin>>m;
newNode->setNum(m);
newNode->setNext(last->getNext());
last->setNext(newNode);
last=newNode;
}
void main()
{
int n;
int s;
int m;
cout<<"请依次输入总人数,从第几个开始报数,报数间隔:";
NodeLink<int> a;
cin>>n;
cin>>s;
cin>>m;
fflush(stdin);
cout<<"请依次输入这"<<n<<"个人的信息: ";
for (int i=0;i<n;i++)
a.insert();
a.josephus(n,s,m);
return;
}
[解决办法]
应该是项目设置问题,无关算法
把报错信息列详细一点
[解决办法]
http://blog.csdn.net/xhhjin/article/details/6658958
[解决办法]