婚恋交友app源码,你要了解数据结构

1.介绍链栈

在这里插入图片描述

所谓链栈,就是用链表存储结构实现的栈。采用链栈,可以不事先估计栈的最大容量,只要婚恋交友app源码有足够的空间,链栈就不会溢出,在使用完后,应与链表一样,给予相应的内存释放。

2.代码实现

(1)定义链栈

typedef struct node
{
 int data;
 struct node * next;
}Node;

(2)初始化

Node * InitStack()
{
 Node * Head = (Node *)malloc(sizeof(Node));
 Head->data = 0;
 Head->next = NULL;
 return Head;
}

(3)进栈

int Push(Node * top, int x)
{
 Node * temp;
 temp = (Node *)malloc(sizeof(Node));
 if (temp == NULL)return(false);
 temp->data = x;
 temp->next = top->next;
 top->next = temp;
 return(true);
}

![在这里插入图片描述](img-blog.csdnimg.cn/20200130171… =900x)

(4)出栈

int Pop(Node * top, int *x)
{
 Node * temp;
 temp = top->next;
 if (temp == NULL)return(false);
 top->next = temp->next;
 *x = temp->data;
 free(temp);
 return(true);
}

1.介绍队列

1.队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 2.队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。 3.与线性表一样,队列也有两种存储方式,即顺序表示和链式表示,今天这篇是链式表示法。

2.图示

在这里插入图片描述

用链表表示队列叫做链队列。

3.定义链队列

typedef struct Node
{
 int data;
 struct Node * next;
}Node;
typedef struct
{
 Node * front;
 Node * rear;
}LinkQueue;

4.初始化链队列

在这里插入图片描述

int InitQueue(LinkQueue * Q)
{
 Q->front = (Node *)malloc(sizeof(Node));
 if (Q->front != NULL)
 {
  Q->rear = Q->front;
  Q->front->next = NULL;
  return(true);
 }
 else
 {
  return(false);
 }
}

5.入队

在这里插入图片描述

int EnterQueue(LinkQueue * Q, int x)
{
 Node * NewNode;
 NewNode = (Node *)malloc(sizeof(Node));
 if (NewNode != NULL)
 {
  NewNode->data = x;
  NewNode->next = NULL;
  Q->rear->next = NewNode;
  Q->rear = NewNode;
  return(true);
 }
 else
 {
  return(false);
 }
}

6.出队

int DeleteQueue(LinkQueue * Q, int * x)
{
 Node * p; //用来存储要出的数据
 if (Q->front == Q->rear)return(false);
 p = Q->front->next;
 Q->front->next = p->next;
 if (Q->rear == p)
 {
  Q->rear = Q->front;
 }
 *x = p->data;
 free(p);
 return(true);
}

以上,就是婚恋交友app源码开发会用到的数据结构介绍。
声明:本文由云豹科技转发自花狗Fdog博客,如有侵权请联系作者删除

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值