#include<iostream>
#include<cstdio>
using namespace std;
struct listque
{
listque* next ;
int data ;
};
class Que
{
private:
listque* head ;
public:
Que();
~Que();
bool Qadd(int e);
bool Qdelete(int &e);
};
Que::Que()
{
head = new listque[1];
head ->next = NULL;
}
Que::~Que()
{
delete []head ;
}
bool Que::Qadd(int e)
{
listque* node , *p ;
p = head->next ;
if(p == NULL)
{
node = new listque[1] ;
node->data = e ;
node->next = p ;
head->next = node ;
return true ;
}
while(p->next != NULL)
{
p = p->next ;
}
node = new listque[1] ;
node->data = e ;
node->next = p->next ;
p->next = node ;
return true ;
// printf("%p\n",p);
}
bool Que::Qdelete(int &e)
{
// if(head->next == NULL)
// {
// return false ;
// }
listque* firstNode ;
firstNode = head->next ;
e = firstNode->data ;
head->next = firstNode->next ;
delete []firstNode ;
return true ;
}
int main()
{
Que lq ;
int a = 0 ;
for(int i = 0; i<10 ;i++)
{
lq.Qadd(i);
}
for(int i = 0 ; i<10 ;i++)
{
lq.Qdelete(a);
cout<<a<<" " ;
}
cout<<endl;
system("pause");
}
#include<cstdio>
using namespace std;
struct listque
{
listque* next ;
int data ;
};
class Que
{
private:
listque* head ;
public:
Que();
~Que();
bool Qadd(int e);
bool Qdelete(int &e);
};
Que::Que()
{
head = new listque[1];
head ->next = NULL;
}
Que::~Que()
{
delete []head ;
}
bool Que::Qadd(int e)
{
listque* node , *p ;
p = head->next ;
if(p == NULL)
{
node = new listque[1] ;
node->data = e ;
node->next = p ;
head->next = node ;
return true ;
}
while(p->next != NULL)
{
p = p->next ;
}
node = new listque[1] ;
node->data = e ;
node->next = p->next ;
p->next = node ;
return true ;
// printf("%p\n",p);
}
bool Que::Qdelete(int &e)
{
// if(head->next == NULL)
// {
// return false ;
// }
listque* firstNode ;
firstNode = head->next ;
e = firstNode->data ;
head->next = firstNode->next ;
delete []firstNode ;
return true ;
}
int main()
{
Que lq ;
int a = 0 ;
for(int i = 0; i<10 ;i++)
{
lq.Qadd(i);
}
for(int i = 0 ; i<10 ;i++)
{
lq.Qdelete(a);
cout<<a<<" " ;
}
cout<<endl;
system("pause");
}