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

网站策划书包含的内容做网站wordpress

网站策划书包含的内容,做网站wordpress,怎样建设电子商务网站,大型网站如何优化顺序队列与链式队列 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.yayakq.cn/news/685226/

相关文章:

  • 做exo小说的网站在易语言里面做网站
  • 四川建设安全协会网站微信小程序后台管理系统
  • 九江网站开发公司网站建设代理协议
  • 绵阳做网站哪家公司好做网站的启蒙思想
  • 网站信息员队伍建设生产企业erp系统开发
  • 高端网站建设 n磐石网络小程序商城图片
  • 保健品网站建设背景2017织梦网站怎么做seo
  • 建设网站好难公司做网站有什么用
  • 长沙网站定制电子书网站搭建教程
  • 个人网站广告投放高质量的常州网站建设
  • 网站分析数据网站制作价格明细
  • 新加坡服务器网站需要备案么wordpress最新主题
  • 上海手机网站建设多少钱图书馆网站建设的意义
  • 网站建设与 维护实训报告范文嘉兴专业网站建设
  • 表白视频制作网站wordpress下载功能
  • 延吉网站网站建设定制网站模板站
  • 怎么把网站做的更好建设银行手机银行官方网站下载安装
  • 装饰公司营销型网站设计网站开发qq群
  • 黄冈网站建设策划购物网站开发毕业设计开题报告
  • 邯郸医疗网站建设手机如何登录wordpress
  • 建设电子商务网站的规划书商务网站建设与维护考试
  • 丹阳建设局网站北京网站优化公司哪里稳定
  • 网站建设扌首选金手指wordpress好还是dz好
  • 美食网站的建设开题报告深圳市宝安区区号
  • 手机网站 软件成都网站建设 公司
  • 有什么网站可以做投票功能wordpress 布局推荐
  • 网站建设 管理与维护试题无锡网站seo
  • 安徽建设网官方网站音乐网站建设怎么上传音乐
  • 1999年怎样建立企业网站网页制作平台哪家好
  • 余姚网站建设报价旅游网站建设的相关报价