当前位置: 首页 > news >正文

代理记账网站模板app推广兼职是诈骗吗

代理记账网站模板,app推广兼职是诈骗吗,微信自带小程序商城,政府的网站用什么系统做的顺序队列与链式队列 1.队列的基本概念1.顺序存储的队列:循环队列3.链式存储的队列:链式队列 1.队列的基本概念 队列是一种逻辑结构,是一种特殊的线性表 只能在固定的两端操作线性表 只要满足上述条件,那么这种特殊的线性表就会…

顺序队列与链式队列

    • 1.队列的基本概念
    • 1.顺序存储的队列:循环队列
    • 3.链式存储的队列:链式队列

1.队列的基本概念

队列是一种逻辑结构,是一种特殊的线性表

  • 只能在固定的两端操作线性表

只要满足上述条件,那么这种特殊的线性表就会呈现一种“先进先出”的逻辑,这种逻辑就被称为队列。

由于约定了只能在线性表固定的两端进行操作,于是给队列这种特殊的线性表的插入删除,起个特殊的名称:

  • 队头:可以删除节点的一端
  • 队尾:可以插入节点的一端
  • 入队:将节点插入到队尾之后,函数名通常为enQueue()
  • 出队:将队头节点从队列中剔除,函数名通常为outQueue()
  • 取队头:取得队头元素,但不出队,函数名通常为front()

1.顺序存储的队列:循环队列

#include <stdio.h>
#include <stdlib.h>#define QUEUE_SIZE 10typedef struct sq_queue
{int data[QUEUE_SIZE];int tail;
}sq_queue_t;// 
sq_queue_t *sq_queue_init(void)
{sq_queue_t *my_sq_queue = malloc(sizeof(sq_queue_t));(my_sq_queue->tail) = -1;return my_sq_queue;
}// 入队
int en_queue(int new_data, sq_queue_t *sq_queue)
{// 判断队列是否满了if (sq_queue->tail > QUEUE_SIZE - 1){printf("队列已满!\n");return -1;}(sq_queue->tail)++;sq_queue->data[sq_queue->tail] = new_data;return 0;
}// 出队
int out_queue(sq_queue_t *sq_queue)
{int i;if (sq_queue->tail < 0){printf("队列已空!\n");return -1;}int temp = sq_queue->data[0];for (i = 0; i < sq_queue->tail; i++){ sq_queue->data[i] = sq_queue->data[i+1];}(sq_queue->tail)--;return temp;
}int main(int argc, char const *argv[])
{int i;sq_queue_t *my_sq_queue = sq_queue_init();if (!my_sq_queue){printf("[main] init fail\n");return -1;}for (i = 0; i < 12; i++){en_queue(i, my_sq_queue);}for (i = 0; i < 12; i++){printf("出队数据:%d\n", out_queue(my_sq_queue));}return 0;
}

3.链式存储的队列:链式队列

#include <stdio.h>
#include <stdlib.h>typedef struct list_queue
{int data;struct list_queue *tail;struct list_queue *next;
}list_queue_t;// 初始化链式队列, 定义结构体变量
list_queue_t *list_queue_init(void)
{list_queue_t *queue_head = malloc(sizeof(list_queue_t));queue_head->next = NULL;queue_head->tail = queue_head; // 对尾指针指向头节点,每次插入新的节点需要更新队尾指针return queue_head;
}// 入队--尾插
int in_queue(int new_data, list_queue_t *queue)
{list_queue_t *new_node = malloc(sizeof(list_queue_t));// 初始化数据域new_node->data = new_data;new_node->next = NULL;new_node->tail = NULL;// 把新的节点插入到队尾后面queue->tail->next = new_node; // 更新队尾---指向新的节点queue->tail = new_node;return 0;
}// 出队--把头节点的下一个节点删除,返回该节点的数据
int out_queue(list_queue_t *queue)
{// 判断队列是否为空if (!queue->next){printf("队列已空!\n");return -1;}// 定义指针p指向待删除的节点--也就是头节点的下一个节点list_queue_t *p = queue->next;// 备份待删除节点的数据int temp = p->data;// 将头节点的next指针指向待删除节点的下一个节点--删除队首queue->next = p->next;p->next = NULL;free(p);return temp;
}#define IN_QUEUE_NUM 5
int main(int argc, char const *argv[])
{unsigned char i;list_queue_t *head_queue = list_queue_init();for (i = 0; i < IN_QUEUE_NUM; i++){in_queue(i, head_queue);}for (i = 0; i < IN_QUEUE_NUM + 1; i++){printf("出队的数据:%d\n", out_queue(head_queue));}return 0;
}/*
执行结果:出队的数据:0出队的数据:1出队的数据:2出队的数据:3出队的数据:4队列已空!出队的数据:-1*/
http://www.jinmujx.cn/news/115257.html

相关文章:

  • 想做外贸去哪个网站做2022年搜索引擎优化指南
  • 工商银行建设银行招商银行网站怎么进行seo
  • 做原型的素材网站国家高新技术企业名单
  • 优秀个人网站设计windows优化大师是什么软件
  • 怎样在网站做环评公示bt蚂蚁磁力
  • 网站劫持代码aso推广
  • WordPress授权站资源网免费推广网站2023
  • 太原在线网站制作怎么做属于自己的网站
  • 企业网站建设 南通百度搜索流量查询
  • 怎样做免费外贸网站手机百度下载免费
  • 网站建设方案功能武汉刚刚突然宣布
  • 网站和网店的区别徐州seo外包公司
  • 网站建设什么科目正规软件开发培训学校
  • 网站pv统计方法com天堂网
  • 免费高清图片素材网站有哪些企业网站seo排名优化
  • 营销型企业网站建设体会网站设计公司多少钱
  • 想开加工厂怎么找订单北京seo加盟
  • 投资公司网站建设深圳推广公司哪家正规
  • wordpress grace 破解seo优化服务是什么意思
  • asp. net 做网站自己如何制作一个网站
  • 门户网站建设报告哦超级外链吧
  • 廊坊专门做网站无人在线观看高清视频单曲直播
  • wordpress做的学校网站自己如何制作一个小程序
  • 国外开源建站系统网站推广哪个平台最好
  • 宁国做网站中国新冠一共死去的人数
  • 无锡做网站好视频号怎么付费推广
  • 哈尔滨松北区建设局网站搜狗引擎
  • 360免费建站abc大连seo建站
  • 网站建设与开发 期末作品seo优化知识
  • 阿里云虚拟主机怎么建立网站网店seo关键词