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

网站建设接活app篮网目前排名

网站建设接活app,篮网目前排名,最漂亮的网页,腾讯云服务器网站建设使用顺序表来设计队列的最大优势是顺序表有可以定位元素的下标。 并且可以以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.ds6.com.cn/news/101105.html

相关文章:

  • 做网站要属于无形资产吗网络推广公司简介
  • it培训机构培训seo专员岗位要求
  • 做网站和做网页搜索网站哪个好
  • 荥阳市城乡规划和建设局网站西安seo关键词排名优化
  • 江苏做网站恩城seo的网站
  • 凸一品牌策划公司佛山seo
  • 做爰视频免费观看网站公司网站制作需要多少钱
  • 深圳网站建设培训找代写文章写手
  • 免费网站商城建设网络营销经典成功案例
  • 做网站要注意什么问题百度小说排行榜2020
  • 做水果网站特点分析如何制作一个个人网站
  • 哪个医学网站大夫可以做离线题苏州搜索引擎优化
  • 做小说网站做国外域名还是国内的好互联网营销软件
  • 做视频赚钱的网站网站推广线上推广
  • 搭建本地网站做色流网络推广怎么做好
  • 公司做网站提供资料自媒体平台大全
  • 嵊州市建设银行网站网站优化排名易下拉效率
  • 北京东城区做网站的公司友情链接格式
  • wordpress 如何分页南宁seo产品优化服务
  • 网上做家教的网站网站推广优化价格
  • 贵阳做网站哪家公司好免费软件下载网站有哪些
  • 做内贸的什么网站效果好有什么引流客源的软件
  • 模板建网站吴江seo网站优化软件
  • 站长一般几个网站公司网站建设步骤
  • 宣传部网站建设计划书seo是什么岗位
  • 怎样给网站或者商品做推广搭建网站的步骤和顺序
  • 如何规范网站使用网站网络推广
  • 网站的ftp账号和密码是什么seo外包公司专家
  • html5响应式网站源码百度平台联系方式
  • 找人做效果图去什么网站军事新闻最新消息今天