剑指offer--2
前言:继续笔记分享!
面试题6:暂无好的解决方法先搁浅一下
面试题7:
#include<stdio.h>
#include<stdlib.h> typedef struct LIFO{
int *data;
int maxlen;
int top;
}seqstack_t;
typedef struct LIFO1{
int *data;
int maxlen;
int top;
}seqstack_t1; //创建一个空栈
seqstack_t *CreateStack(int max)
{
seqstack_t *H;
H = (seqstack_t *)malloc(sizeof(seqstack_t));
H->data = (int *)malloc(sizeof(int)*max);
H->maxlen = max;
H->top = ;
return H;
}
//创建一个空栈
seqstack_t1 *CreateStack1(int max)
{
seqstack_t1 *H;
H = (seqstack_t1 *)malloc(sizeof(seqstack_t1)); H->data = (int *)malloc(sizeof(int)*max);
H->maxlen = max;
H->top = ;
return H;
} //获取栈顶数据的值
int GetTop(seqstack_t1 *H)
{
if(H->top <= )
{
printf("栈空\n");
return -;
}
return H->data[H->top-];
} //栈清空
void Clear(seqstack_t *H)
{
H->top=;
} //向栈中插入数据
void Push(seqstack_t *H,int m)
{
H->data[H->top]=m;
H->top++;
}
//向栈中插入数据
void Push1(seqstack_t1 *H,int m)
{
H->data[H->top]=m;
H->top++;
} int Pop(seqstack_t *H)
{
return H->data[H->top];
} int main()
{
seqstack_t *T=CreateStack();
seqstack_t1 *T1=CreateStack1();
Push(T,);
Push(T,);
Push(T,); int i=;
--T->top;
while(T->top >= )
{
Push1(T1,Pop(T));
i++;
--T->top;
}
while(T1->top > )
{
printf("data:%-5d",GetTop(T1));
--T1->top;
}
printf("\n"); free(T->data);
free(T);
free(T1->data);
free(T1);
return ;
}
注:主要要懂栈后进先出LIFO,队列先进先出FIFO,一个栈弹出,一个压入,就可以实现队列!!!
剑指offer--2的更多相关文章
- 剑指Offer面试题:1.实现Singleton模式
说来惭愧,自己在毕业之前就该好好看看<剑指Offer>这本书的,但是各种原因就是没看,也因此错过了很多机会,后悔莫及.但是后悔是没用的,现在趁还有余力,把这本书好好看一遍,并通过C#通通实 ...
- 剑指Offer面试题:14.链表的倒数第k个节点
PS:这是一道出境率极高的题目,记得去年参加校园招聘时我看到了3次,但是每次写的都不完善. 一.题目:链表的倒数第k个节点 题目:输入一个链表,输出该链表中倒数第k个结点.为了符合大多数人的习惯,本题 ...
- 《剑指offer》面试题12:打印1到最大的n位数
面试题12:打印1到最大的n位数 剑指offer题目12,题目如下 输入数字n,按顺序打印出1到最大的n位十进制数,比如输入3,则打印出1,2,3一直到最大的三位数999 方法一 和面试题11< ...
- 《剑指offer》面试题11: 数值的整数次方
面试题11: 数值的整数次方 剑指offer面试题11,题目如下 实现函数double power(double base,int exponent),求base的exponent次方, 不得使用库 ...
- 剑指 Offer 题目汇总索引
剑指 Offer 总目录:(共50道大题) 1. 赋值运算符函数(或应说复制拷贝函数问题) 2. 实现 Singleton 模式 (C#) 3.二维数组中的查找 4.替换空格 ...
- 面试题目——《剑指Offer》
1.把一个字符串转换成整数——<剑指Offer>P29 2.求链表中的倒数第k个结点——<剑指Offer>P30 3.实现Singleton模式——<剑指Offer> ...
- 剑指offer习题集2
1.把数组排成最小的数 class Solution { public: static bool compare(const string& s1, const string& s2) ...
- 剑指offer习题集1
1.打印二叉树 程序很简单,但是其中犯了一个小错误,死活找不到,写代码要注意啊 这里左右子树,要注意是node->left,结果写成root->left vector<int> ...
- 剑指Offer:面试题20——顺时针打印矩阵(java实现)
题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数 字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1, ...
- 牛客网上的剑指offer题目
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 题目:请实现一个函数,将一 ...
随机推荐
- JQUERY-事件-动画-类数组对象-添加自定义API
正课: 1. 事件: 2. 动画: 3. 类数组对象操作: 4. 添加自定义API: 1. 事件: 1. 页面加载后执行: 2个时机 1. DOM内容加载完成: 仅包括html, js DOMCont ...
- ABAP 常见系统表
TRDIRT Program nameTFTIT Function module nameDD02T Table name
- Codeforces Round #485 (Div. 2) C. Three displays
Codeforces Round #485 (Div. 2) C. Three displays 题目连接: http://codeforces.com/contest/987/problem/C D ...
- 扁平化promise调用链(译)
这是对Flattened Promise Chains的翻译,水平有限请见谅^ ^. Promises对于解决复杂异步请求与响应问题堪称伟大.AngularJS提供了$q和$http来实现它:还有很多 ...
- 前端基础之 html
---恢复内容开始--- web服务本质 import socket sock=socket.socket() sock.bind(()) sock.listen() where True: conn ...
- C++ boost.python折腾笔记
为了让当年研究生时写的图像处理系统重出江湖起到更大的作用,应研究生导师的意见,对原有的c++框架做了python扩展处理,为了避免遗忘,备注如下: 一.boost 编译 下载boost源码,这里使用b ...
- 使用django我的第一个简单项目流程
项目概述:本项目实现的是员工提交需要审批的事情给老板(例如请假事件.某些具体事务需要老板确认事件等),老板确认或者拒绝该事件,员工登录员工自己的页面可以查询响应的状态信息. 代码实现概略:需要创建两个 ...
- shell脚本颜色输出(实例未编辑)
颜色输出通过echo 输出,需要加-e echo -e "\033[背景颜色;字体颜色\033[0m" 背景颜色 40 设置黑色背景 41 设置红色背景 42 设置绿色背景 43 ...
- winform窗体退出
winform主窗体退出需要在FormClosing事件里写入程序退出代码,防止程序明明退出了,而程序进程还没杀掉: private void FormMain_FormClosing(object ...
- postgresql数据库查询慢SQL
--查询总耗时最长SQLselect * from pg_stat_statements order by total_time desc;--查询平均耗时最长SQLselect * from pg_ ...