不出意外,基本上就这些操作了,不过有些时候还是感觉STL大法好啊,还有数组模拟有时候做算法题的时候也会意外的好使。
这里用循环队列来写一个例子:就是舞会配对:
在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入。试模拟解决上述舞伴配对问题。要求:从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示未配对者的姓名。
差不多就是这个意思,让我们随便写写吧:
#include<iostream>
using namespace std;
#define MAXQSIZE 100
typedef struct{
string *name;
string *sex;
int frontt;//头指针
int rear;//尾指针
}SqQueue;
void InitQueue(SqQueue &Q){//队列初始化
Q.name = new string[MAXQSIZE];
Q.sex = new string[MAXQSIZE];
Q.frontt=Q.rear=0;
}
int QueueLength(SqQueue Q