队列相连(队列,链表)

来源:互联网 发布:python执行cmd命令行 编辑:程序博客网 时间:2024/06/05 19:03
#include<iostream>
using namespace std;
extern int k=1;
class Queue
{
public:
int maxSize;
int rear;
int front;
int *queue;
public:
Queue(const int size)
{
maxSize=size+1;
queue=new int[maxSize];
front=rear=0;
}
~Queue()
{
delete [] queue;
}
void Clear()
{
front=rear;
}
bool EnQueue(const int item)
{
if((rear+1)%maxSize==front)
{
cout<<"队列已满"<<endl;
return false;
}
queue[rear]=item;
rear=(rear+1)%maxSize;
return true;
}
int IsEmpty()
{
if(rear==front)
{
return 0;
}
return 1;
}
bool DeQueue(int &item)
{
if(rear==front)
{
cout<<"队列空"<<endl;
return false;
}
item=queue[front];
front=(front+1)%maxSize;
return true;
}
void print()
{
for(;front<=rear;front++)
{
cout<<queue[front]<<endl;
}
}
};
class Node
{
public:
int *data;
Node *pnext;
};
class List
{
public:
Node *head;
Node *tail;
public:
List()
{}
void  insert(int *n)
{
Node *ptemp;
ptemp=new Node;
ptemp->data=n;
if(k)
{
head=tail=ptemp;
k--;
}
tail->pnext=ptemp;
tail=tail->pnext;
}
void print()
{
while(head!=tail)
{
for(int i=0;i<10;i++)
{
if(*(head->data+i)>=0&&*(head->data+i)<=9)
cout<<*(head->data+i);
}
head=head->pnext;


}
for(int i=0;i<10;i++)
{
if(*(tail->data+i)>=0&&*(tail->data+i)<=9)
cout<<*(tail->data+i);
}
}


};


int main()
{
List st;
cout<<"输入你想输入的数的个数"<<endl;
int n;
int sum;
cin>>n;
Queue qe1(n);
Queue qe2(n);
Queue qe3(n);
Queue qe4(n);
Queue qe5(n);
Queue qe6(n);
Queue qe7(n);
Queue qe8(n);
Queue qe9(n);
Queue qe0(n);
for(int i=0;i<n;i++)
{
cout<<"输入你想输入的数"<<endl;
cin>>sum;
switch(sum)
{
case 1:

qe1.EnQueue(sum);
break;
case 2:

qe2.EnQueue(sum);
break;
case 3:

qe3.EnQueue(sum);
break;
case 4:

qe4.EnQueue(sum);
break;
case 5:

qe5.EnQueue(sum);
break;
case 6:

qe6.EnQueue(sum);
break;
case 7:

qe7.EnQueue(sum);
break;
case 8:

qe8.EnQueue(sum);
break;
case 9:

qe9.EnQueue(sum);
break;
case 10:

qe0.EnQueue(sum);
break;
default:
cout<<"请输入十以内的数"<<endl;
}
}
int *jud[10];
jud[0]=qe0.queue;
jud[1]=qe1.queue;
jud[2]=qe2.queue;
jud[3]=qe3.queue;
jud[4]=qe4.queue;
jud[5]=qe5.queue;
jud[6]=qe6.queue;
jud[7]=qe7.queue;
jud[8]=qe8.queue;
jud[9]=qe9.queue;
for(int i=0;i<10;i++)
{
if(*jud[i]>=0&&*jud[i]<=9)
{
st.insert(jud[i]);
}
}
st.print();
system("pause");
return 0;
}
0 0
原创粉丝点击