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

做的网站上传到服务器网络培训总结

做的网站上传到服务器,网络培训总结,杭州网站建设培训,做pc端网站报价1. 题目 2. 思路分析 思路:1)往非空队列里插入数据(入队列); 2)将非空队列的前size-1个元素挪到空队列; 3)将非空队列的队尾元素出队列,并返回栈顶元素。 3. 代码实现 typedef …

1. 题目

 2. 思路分析

思路:1)往非空队列里插入数据(入队列);

2)将非空队列的前size-1个元素挪到空队列;

3)将非空队列的队尾元素出队列,并返回栈顶元素。

3. 代码实现 

typedef int QDataType;
typedef struct QueueNode {QDataType data;struct QueueNode* next;
} QueueNode;typedef struct Queue {QueueNode* phead;QueueNode* ptail;int size;
} Queue;// 初始化
void QueueInit(Queue* pq) {assert(pq);pq->phead = pq->ptail = NULL;pq->size = 0;
}
// 销毁
void QueueDestory(Queue* pq) {assert(pq);QueueNode* pcur = pq->phead;while (pcur) {QueueNode* next = pcur->next;free(pcur);// pcur = NULL;pcur = next;}pq->phead = pq->ptail = NULL;pq->size = 0;
}
// 队列判空
bool QueueEmpty(Queue* pq) {assert(pq);return pq->phead == NULL;
}
// 入队列
void QueuePush(Queue* pq, QDataType x) {assert(pq);// 申请新的结点QueueNode* newnode = (QueueNode*)malloc(sizeof(QueueNode));if (newnode == NULL) {perror("malloc fail!\n");exit(1);}newnode->data = x;newnode->next = NULL;// 空队列if (pq->phead == NULL) {pq->phead = pq->ptail = newnode;} else {pq->ptail->next = newnode;pq->ptail = pq->ptail->next;}pq->size++;
}
// 队列有效元素个数
int QueueSize(Queue* pq) {assert(pq);// QueueNode* pcur = pq->phead;// int size = 0;// while (pcur)//{//	pcur = pcur->next;//	size++;// }// return size;return pq->size;
}
// 出队列
void QueuePop(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));// 只有一个结点时if (pq->phead == pq->ptail) {free(pq->phead);pq->phead = pq->ptail = NULL;} else {QueueNode* next = pq->phead->next;free(pq->phead);pq->phead = next;}pq->size--;
}
// 取队头元素
QDataType QueueFront(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));return pq->phead->data;
}
// 取队尾元素
QDataType QueueBack(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));return pq->ptail->data;
}
//这里是队列结构和相关方法/typedef struct {Queue q1;Queue q2;
} MyStack;MyStack* myStackCreate() {MyStack* pa=(MyStack*)malloc(sizeof(MyStack));QueueInit(&pa->q1);QueueInit(&pa->q2);return pa;
}
//将元素 x 压入栈顶
void myStackPush(MyStack* obj, int x) {//往非空队列插入数据--判空if(QueueEmpty(&obj->q1)){QueuePush(&obj->q2,x);}else{QueuePush(&obj->q1,x);}
}
//移除并返回栈顶元素
int myStackPop(MyStack* obj) {Queue* emp=&obj->q1;Queue* noemp=&obj->q2;if(QueueEmpty(&obj->q2)){noemp=&obj->q1;emp=&obj->q2;}while(QueueSize(noemp)>1){QueuePush(emp,QueueFront(noemp));QueuePop(noemp);}int top=QueueFront(noemp);QueuePop(noemp);return top;
}int myStackTop(MyStack* obj) {if(!QueueEmpty(&obj->q1)){return QueueBack(&obj->q1);}else{return QueueBack(&obj->q2);}
}bool myStackEmpty(MyStack* obj) {return QueueEmpty(&obj->q1)&&QueueEmpty(&obj->q2);
}void myStackFree(MyStack* obj) {QueueDestory(&obj->q1);QueueDestory(&obj->q2);free(obj);obj=NULL;
}

http://www.dtcms.com/wzjs/395092.html

相关文章:

  • 做网站建设的平台cpv广告联盟
  • wordpress设置为繁体字seo从入门到精通
  • 湖州 网站建设公司哪家好免费b2b信息发布网站
  • 杭州建站模板制作子域名大全查询
  • 网站制作困难如何建立个人网址
  • 南宁网站建设服务商刷seo快速排名
  • 广州建设网站开发在线企业管理培训课程
  • 使用html制作网页长沙关键词优化首选
  • 枣庄网站制作公司真实有效的优化排名
  • 中央精神文明建设指导委员网站网站查询工具
  • 安徽企业平台网站建设内容营销成功案例
  • 网站设计设产品推广怎么做
  • 哪些网站是动态百度百科推广联系方式
  • js 网站客服代码口碑营销的重要性
  • wordpress建站教程贴吧爱站网关键词排名
  • 河北 石家庄 网站建设网页设计作品
  • 中国最好的网站制作公司北京seo助理
  • 宜昌市做网站企业qq怎么申请
  • 怎么做一种网站为别人宣传网络营销图片
  • 如何建立国际网站建设网站的步骤
  • 网站开发者收入来源seo优化顾问服务阿亮
  • 用什么网站可以做电子书苏州网站建设公司
  • 只买域名怎么做网站网络培训平台
  • 做网站怎么签订协议无屏蔽搜索引擎
  • 加人引流加人网站怎么做刷评论网站推广
  • 公司新闻网页制作软件seo基本概念
  • 做网站设计管理的专业互联网网络推广公司
  • 网站日常维护2022当下社会热点话题
  • 网站建设和空间品牌运营岗位职责
  • 网站建设一般多少钱seo平台是什么意思