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

一个页面对网站如何建设百度站长工具如何使用

一个页面对网站如何建设,百度站长工具如何使用,简单百度网址大全,短网址服务平台使用顺序表来设计队列的最大优势是顺序表有可以定位元素的下标。 并且可以以Mod来使数组下标循环 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<stdbool.h> typedef int CQDataType; typedef struct { int* array; in…

使用顺序表来设计队列的最大优势是顺序表有可以定位元素的下标。

并且可以以Mod来使数组下标循环

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
typedef int CQDataType;

typedef struct {
    int* array;
    int front;
    int tail;
    int cap;
} MyCircularQueue;

//创建队列
MyCircularQueue* myCircularQueueCreate(int k) {
    MyCircularQueue* obj = (MyCircularQueue*)malloc(sizeof(MyCircularQueue));
    obj->front = obj->tail = 0;
    obj->cap = k;
    CQDataType* tmp = (CQDataType*)malloc(sizeof(CQDataType) * (obj->cap + 1));
    obj->array = tmp;
    return obj;
}

//isEmpty() : 检查循环队列是否为空。

 

//isEmpty() : 检查循环队列是否为空。
bool myCircularQueueIsEmpty(MyCircularQueue* obj) {
    assert(obj);
    if (obj->front == obj->tail)
        return true;
    else
        return false;
}

//isFull() : 检查循环队列是否已满

//isFull() : 检查循环队列是否已满
bool myCircularQueueIsFull(MyCircularQueue* obj) {
    assert(obj);
    if ((obj->tail+1) % (obj->cap + 1) == obj->front ))
        return true;
    else
        return false;
}

//向循环队列插入一个元素。如果成功插入则返回真
bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {
    assert(obj);
    if (myCircularQueueIsFull(obj))
    {
        return false;
    }
    obj->array[obj->tail++] = value;
    obj->tail %= (obj->cap + 1);
    return true;
}

//从循环队列中删除一个元素。如果成功删除则返回真。
bool myCircularQueueDeQueue(MyCircularQueue* obj) 
{
    assert(obj);
    if (myCircularQueueIsEmpty(obj))
    {
        return false;
    }
    else
    {
        if (obj->front == obj->cap)
            obj->front = 0;
        else
            obj->front++;
    }
    return true;
}

//Front: 从队首获取元素。如果队列为空,返回 -1 
int myCircularQueueFront(MyCircularQueue* obj) {

    assert(obj);
    if (myCircularQueueIsEmpty(obj))
        return -1;
    else
        return obj->array[obj->front];
}

//获取队尾元素。如果队列为空,返回 -1 。
int myCircularQueueRear(MyCircularQueue* obj) {
    assert(obj);
    if (obj->front == obj->tail)
    {
        return -1;
    }
    else
    {
        if (obj->tail == 0)
        {
            return obj->array[obj->cap];
        }
        else
        {
            return obj->array[obj->tail - 1];
        }
    }
}

//内存释放
void myCircularQueueFree(MyCircularQueue* obj) {
    free(obj->array);
    obj->front = NULL;
    obj->tail = NULL;
    obj->cap = 0;
}

http://www.hkea.cn/news/757823/

相关文章:

  • 百度抓取不到网站百度识图搜索图片来源
  • 企业网站栏目规划的重要性网络营销的概述
  • 公司网站建设找谁做免费发布推广信息网站
  • 虚拟币网站开发seo百度关键字优化
  • 网站建设都 包括哪些淄博网站制作
  • 自己做装修网站南宁百度推广seo
  • 品牌建设浅谈seo网络营销外包
  • 昆山网站建设兼职千锋教育的官网
  • cm域名做网站盘古百晋广告营销是干嘛
  • 网站栏目策划企业网络营销方案
  • 网站自动采集指标sem广告投放是做什么的
  • 想做一个个人网站怎么做培训学校
  • 网站开发ipv6升级如何创建自己的小程序
  • 做网站需要备案吗外贸网站推广与优化
  • 独立网站建设流程b站视频推广网站动漫
  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载