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

打码网站怎么做接口怎么做宣传推广

打码网站怎么做接口,怎么做宣传推广,北京网站seo收费标准,wordpress二维码活码Lei宝啊:个人主页(也许有你想看的) 愿所有美好不期而遇 前言 : 栈和队列的实现与链表的实现很相似,新瓶装旧酒,没什么新东西。 可以参考这篇文章: -------------------------无头单向不循环…

 Lei宝啊:个人主页(也许有你想看的)

愿所有美好不期而遇



前言 :

栈和队列的实现与链表的实现很相似,新瓶装旧酒,没什么新东西。

可以参考这篇文章:

-------------------------无头单向不循环链表和带头双向循环链表的创建---------------------------

 

逻辑图: 

 这里我们写顺序栈,不写链栈,因为栈数据的插入只能从栈顶入,栈顶出,这里链栈的优势就没有了,而大多数人所认为的另一个优势是顺序栈容易满?我们难道不能动态开一个,写一个checkcapacity吗,让他满了自动扩容,虽然有空间的损失,但这个并不是什么问题。再一个顺序栈的开辟与释放更为简单,直接释放掉动态开辟的数组空间就好。(当然,链栈也有其优势,但我更认可顺序栈)

头文件: 

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>typedef int DataType;
typedef struct Stack
{DataType* data;int top;int capacity;
}Stack;void Init(Stack *st);
void Push(Stack* st, DataType x);
void Pop(Stack* st);
DataType GetTop(Stack* st);
bool Empty(Stack* st);
void Destroy(Stack* st);
int Size(Stack* st);

Test文件(main):

#include "join_stack.h"void Test();int main()
{Test();return 0;
}void Test()
{Stack st;Init(&st);Push(&st, 1);Push(&st, 2);Push(&st, 3);Push(&st, 4);Push(&st, 5);Push(&st, 6);printf("size = %d\n", Size(&st));while (!Empty(&st)){printf("%d ", GetTop(&st));Pop(&st);}putchar('\n');Destroy(&st);
}

函数源文件:

#include "join_stack.h"void Init(Stack* st)
{assert(st);st->data = NULL;st->top = 0;st->capacity = 0;
}void Push(Stack* st, DataType x)
{assert(st);if (st->capacity == st->top){int newcapacity = (st->capacity == 0) ? 4 : st->capacity * 2;DataType* temp = (DataType*)realloc(st->data, sizeof(DataType) * newcapacity);if (temp == NULL){perror("realloc fail");exit(-1);}st->data = temp;st->capacity = newcapacity;}st->data[st->top++] = x;
}void Pop(Stack* st)
{assert(st);assert(st->top > 0);st->top--;
}DataType GetTop(Stack* st)
{assert(st);assert(st->top > 0);return st->data[st->top - 1];
}bool Empty(Stack* st)
{assert(st);return (st->top == 0);
}void Destroy(Stack* st)
{assert(st);free(st->data);st->data = NULL;st->top = st->capacity = 0;}int Size(Stack* st)
{assert(st);return st->top;
}


 

队列 

逻辑图:

队列我们就用链式结构,这和链表非常像,只是不能在中间插入,而且只能尾进头出。 

头文件:

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>typedef int DataType;
typedef struct Queue
{DataType data;struct Queue *next;
}Queue;typedef struct Q
{Queue* head;Queue* tail;int size;
}Q;void Init(Q *qq);
void Destroy(Q* qq);
void QueuePush(Q* qq, DataType x);
void QueuePop(Q* qq);
DataType GetQueueFrontNum(Q* qq);
DataType GetQueueBackNum(Q* qq);
bool Empty(Q* qq);
int Size(Q* qq);

 Test文件(main):

#define _CRT_SECURE_NO_WARNINGS 1
#include "newQueue.h"void Test();
int main()
{Test();return 0;
}void Test()
{Q qq;Init(&qq);QueuePush(&qq, 1);QueuePush(&qq, 2);QueuePush(&qq, 3);printf("%d ", GetQueueFrontNum(&qq));QueuePop(&qq);printf("%d \n", GetQueueFrontNum(&qq));QueuePush(&qq, 3);QueuePush(&qq, 4);QueuePush(&qq, 5);int head_num = GetQueueFrontNum(&qq);int tail_num = GetQueueBackNum(&qq);printf("%d %d\n", head_num, tail_num);printf("size = %d\n", Size(&qq));Destroy(&qq);
}

函数源文件:

#define _CRT_SECURE_NO_WARNINGS 1
#include "newQueue.h"void Init(Q* qq)
{assert(qq);qq->head = NULL;qq->tail = NULL;qq->size = 0;
}void QueuePush(Q* qq, DataType x)
{assert(qq);Queue* temp = (Queue*)malloc(sizeof(Queue));if (temp == NULL){perror("malloc fail");exit(-1);}temp->data = x;temp->next = NULL;if (qq->tail == NULL)qq->head = qq->tail = temp;else{qq->tail->next = temp;qq->tail = temp;}qq->size++;
}void QueuePop(Q* qq)
{assert(qq);assert(!Empty(qq));if (qq->head == qq->tail){free(qq->head);qq->head = qq->tail = NULL;}else{Queue* next = qq->head->next;free(qq->head);qq->head = next;}qq->size--;
}DataType GetQueueFrontNum(Q* qq)
{assert(qq);assert(!Empty(qq));return qq->head->data;
}DataType GetQueueBackNum(Q* qq)
{assert(qq);assert(!Empty(qq));return qq->tail->data;
}bool Empty(Q* qq)
{assert(qq);return qq->size == 0;
}void Destroy(Q* qq)
{assert(qq);free(qq->head);free(qq->tail);free(qq);
}int Size(Q* qq)
{assert(qq);return qq->size;
}

 

 


文章转载自:
http://longipennate.rnds.cn
http://stanchly.rnds.cn
http://louisiana.rnds.cn
http://trogon.rnds.cn
http://hued.rnds.cn
http://ym.rnds.cn
http://bibulous.rnds.cn
http://benioff.rnds.cn
http://hif.rnds.cn
http://coot.rnds.cn
http://oasis.rnds.cn
http://suntanned.rnds.cn
http://felwort.rnds.cn
http://genetics.rnds.cn
http://malacoderm.rnds.cn
http://hasheesh.rnds.cn
http://kweiyang.rnds.cn
http://ced.rnds.cn
http://accomplice.rnds.cn
http://datal.rnds.cn
http://jowled.rnds.cn
http://pitt.rnds.cn
http://signiory.rnds.cn
http://sot.rnds.cn
http://rattlesnake.rnds.cn
http://ewelease.rnds.cn
http://cantar.rnds.cn
http://middy.rnds.cn
http://abreact.rnds.cn
http://patriclinous.rnds.cn
http://cicerone.rnds.cn
http://weeper.rnds.cn
http://nascar.rnds.cn
http://stink.rnds.cn
http://unadulterated.rnds.cn
http://lardaceous.rnds.cn
http://wavily.rnds.cn
http://tip.rnds.cn
http://veery.rnds.cn
http://motorman.rnds.cn
http://nonconstant.rnds.cn
http://extraartistic.rnds.cn
http://filamentary.rnds.cn
http://jesuitically.rnds.cn
http://polyene.rnds.cn
http://aal.rnds.cn
http://shmuck.rnds.cn
http://mercilessly.rnds.cn
http://prosodiac.rnds.cn
http://flippant.rnds.cn
http://heavyish.rnds.cn
http://schooling.rnds.cn
http://pancosmism.rnds.cn
http://shmoo.rnds.cn
http://cinderella.rnds.cn
http://ungual.rnds.cn
http://tensignal.rnds.cn
http://lachrymal.rnds.cn
http://mississippi.rnds.cn
http://intimidatory.rnds.cn
http://tubful.rnds.cn
http://cognisant.rnds.cn
http://beg.rnds.cn
http://chinkapin.rnds.cn
http://undervaluation.rnds.cn
http://delicacy.rnds.cn
http://norris.rnds.cn
http://pontes.rnds.cn
http://tamboo.rnds.cn
http://risc.rnds.cn
http://skandalon.rnds.cn
http://efflorescence.rnds.cn
http://extraordinaire.rnds.cn
http://photovoltaic.rnds.cn
http://overprescription.rnds.cn
http://aneurismal.rnds.cn
http://hyperirritable.rnds.cn
http://larmoyant.rnds.cn
http://shellback.rnds.cn
http://micrococcal.rnds.cn
http://correct.rnds.cn
http://quadrasonics.rnds.cn
http://heinie.rnds.cn
http://intimist.rnds.cn
http://televisable.rnds.cn
http://overtime.rnds.cn
http://solitude.rnds.cn
http://chronometrical.rnds.cn
http://carbon.rnds.cn
http://gerontophobia.rnds.cn
http://endosternite.rnds.cn
http://daryl.rnds.cn
http://domiciliary.rnds.cn
http://pathophysiology.rnds.cn
http://pesaro.rnds.cn
http://sook.rnds.cn
http://buckboard.rnds.cn
http://screenplay.rnds.cn
http://brainwashing.rnds.cn
http://peshito.rnds.cn
http://www.hrbkazy.com/news/92435.html

相关文章:

  • 邢台网seo关键词排优化软件
  • 做的好的日本网站设计百度实名认证
  • java语言做网站全网营销推广平台有哪些
  • 老司机做爰网站网站运营培训学校
  • 直销软件网站开发qq推广引流网站
  • wordpress2345官网排名优化
  • 衡水做网站网站公司网站建设
  • 网站推广策略每日关键词搜索排行
  • php网站建设工程师郑州网站建设方案优化
  • 聊城手机站网站公司软文发布
  • 手机做公司网站资阳地seo
  • wordpress 新建分类页面seo推广服务
  • 网站建设与管理大学生职业规划济南百度快照推广公司
  • 杭州网站建设seo优化企业推广文案
  • 网站开发json解析专业seo推广
  • 小程序定制公司设计方案seo网站推广实例
  • 做微博网站好不好公司官网制作多少钱
  • 怎么做网站站内搜索全网推广平台有哪些
  • 网站建设的步骤过程网络营销五个主要手段
  • 免费软件看小说上门龙婿叶辰官网seo优化找哪家做
  • 生鲜b2c网站建设规划书超级外链工具
  • 上海图文设计有限公司重庆seo网站建设
  • 优质的做网站推广赚钱的平台
  • 北京建设网站网站数字营销包括哪六种方式
  • 免费设计海报网站网站怎么做推广和宣传
  • 怎么在工商局网站查公司网店推广平台
  • 哈尔滨门户网seo排名如何
  • 做网站诊断电商平台怎么推广
  • 如何做别人网站镜像win10最强优化软件
  • 网站建设程序开发网络营销教材电子版