顺序表加损失一个储存位 -》实现队列

int cnt{  };
typedef struct ty* pos;
struct ty {
	int* a;
	int maxsize;
	int f, nex;
};
void cre(pos& l, int s)
{
	l = new ty;
	l->a = new int[s];
	l->maxsize = s;
	l->f = l -> nex = 0;
}
bool ept(pos l)
{
	return (l->f == l->nex);
}
bool full(pos l)
{
	return (l->f == (l->nex + 1) % l->maxsize);
}
void add(pos l, int aa)
{
	if ( full(l) )
	{
		cout << "full" << endl;
		return;
	}
	l->nex = (l->nex + 1) % l->maxsize;
	l->a[l->nex] = aa;
}
void del(pos l)
{
	if ( ept(l) ) {
		cout << "    fas" << endl;
		return;
	}
	l->f = (l->f + 1) % l->maxsize;
	cout << l->a[l->f] << endl;
}

int main(int args, char** argv)
{
	/*ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin.tie(nullptr);*/
	pos l;
	cre(l, 5);
	add(l, 14);
	add(l, 23);
	add(l, 230);
	add(l, 213);
	add(l, 273);
	add(l, 236);
	del(l);
	del(l);
	del(l);
	del(l);
	del(l);
	del(l);
	return 0;
}
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务