h:
namespace queue
{
class queuelist {
public:
int linkinit(queuelist *);
int linkincrease(queuelist *);
int linkremove(queuelist *);
int watch(queuelist*);
private:
char data;
queuelist *next;
queuelist *linkfont;
queuelist *linkrear;
int doufont;
int doureat;
int len;
};
}
cpp:
using namespace queue;
int queuelist::linkinit(queuelist *l)
{
l->next = NULL;
l->linkfont = l;
l->linkrear = l;
l->len = -1;
cout << "队列初始化成功" << endl;
return 1;
};
int queuelist::linkincrease(queuelist *l)//链表的尾插
{
queuelist *q, *r; r = l;
cout << "输入进队元素" << endl;
char x = 0;
while (x != '\n')
{
q=new queuelist;
x = getchar();
q->data = x;
r->next = q;
r = q;
r->linkrear = r;
l->len++;
}
r->next = NULL;
watch(l);
return 1;
}
int queuelist::linkremove(queuelist*l)
{
if (l->len==0)
{
cout<<"空队!"<<endl;
return 0;
}
cout << "输入出队数量" << endl;
int x; cin >> x;
if (x > l->len)
{
cout << "数量不对!" << endl;
return 0;
}
queuelist *r, *p = l; r = p->next;
for (int i = 0; i < x; i++)
{
r = p->next;
p->next = r->next;
l->len--;
delete r;
}
watch(l);
}
int queuelist::watch(queuelist *l)
{
cout << "结果是" << endl;
if (sizeof(l) == 4)
{
while (l->next != NULL)
{
l = l->next;
cout << l->data;
}
return 1;
}
}