数据结构的输出操作

1.顺序表的输出:
void DispList(SqList *L)	//输出顺序表
{
	int i;
	if (ListEmpty(L)) return;      //为空值,直接返回
	for (i = 0; i < L -> length; i++)    //遍历顺序表的所有元素
		printf("%c ", L -> data[i]);  //用指针指向这些元素输出
	printf("\n");
}


2.单链表的输出:
void DispList(LinkList *L)	//输出线性表
{
	LinkList *p = L->next;
	while (p != NULL)
	{
		printf("%c ", p->data);
		p = p -> next;
	}
	printf("\n");
}


3.双链表的输出:
void DispList(DLinkList *L)	//输出线性表
{
	DLinkList *p = L->next;
	while (p != NULL)
	{
		printf("%c ", p->data);
		p = p -> next;
	}
	printf("\n");
} 


4.循环单链表的输出:
void DispList(LinkList *L)	//输出线性表
{
	LinkList *p = L -> next;
	while (p != L)
	{
		printf("%c ", p->data);
		p = p -> next;
	}
	printf("\n");
}


5.循环双链表的输出:
void DispList(DLinkList *L)		//输出线性表
{
	DLinkList *p = L -> next;
	while (p != L)
	{
		printf("%c ", p -> data);
		p = p -> next;
	}
	printf("\n");
}


6.顺序栈的出栈:
bool Pop(SqStack *&s,ElemType &e)	//出栈
{	if (s->top==-1)		//栈为空的情况,即栈下溢出
		return false;
	e=s->data[s->top];	//取栈顶指针元素的元素
	s->top--;			//栈顶指针减1
	return true;
} 


7.链栈的出栈:

bool Pop(LiStack *&s,ElemType &e)	//出栈
{	LiStack *p;
	if (s->next==NULL)		//栈空的情况
		return false;
	p=s->next;				//p指向开始节点
	e=p->data;
	s->next=p->next;		//删除*p节点
	free(p);				//释放*p节点
	return true;
}


8.顺序队列的出队:

bool deQueue(SqQueue *&q,ElemType &e)	//出队
{
	if (q->front==q->rear)		//队空下溢出
		return false;
	q->front=(q->front+1)%MaxSize;
	e=q->data[q->front];
	return true;
}


9.链队的出队:

bool deQueue(LiQueue *&q,ElemType &e)	//出队
{	QNode *t;
	if (q->rear==NULL)		//队列为空
		return false;
	t=q->front;				//t指向第一个数据节点
	if (q->front==q->rear)  //队列中只有一个节点时
		q->front=q->rear=NULL;
	else					//队列中有多个节点时
		q->front=q->front->next;
	e=t->data;
	free(t);
	return true;
}


  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值