- 博客(10)
- 资源 (8)
- 收藏
- 关注
原创 剑指offer面试题07——用两个栈实现队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。输入:每个输入件包含一个测试样例。对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。接下来的n行,每行输入一个队列操作:PUSH X 向队列中push一个整数x(x>=0)POP 从队列中pop一个数。 输出: 对应每个测试案例,打印所有pop操作中从队列pop中的数字。如果执行pop操作时,队列为空,则打印-1。 样例输入:3PUSH 10.
2020-07-07 23:21:36 196
原创 最接地气的C语言教程:队列的实现与基本操作------用100行代码带你实现链式队列
队列的介绍来自百度百科的介绍:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。简单来说,队列和栈一样,也是一种受限制的数据结构。虽然链式队列是通过链表来实现的,但是链式队列并不能和链表一样任意插入元素,删除元素。队列就像我们生活中排队一样,新来的人始终站在队尾,队头的人离开。和栈操作一样,我们也把队列的操作封装成相应函数。1.入队
2020-06-30 17:09:43 310
原创 最接地气的C语言教程:栈的实现与基本操作------用100行代码带你实现链式栈
栈的介绍来自百度百科的介绍:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。实际上我们简单的来理解栈的概念:1.栈是一种存储结构。也就是说归根到底它是用来存储数据的,就像数组和链表。2.栈是一种受限制的线性表,每次添加元素必须
2020-06-30 16:12:59 367
原创 C语言实现:剑指offer面试题6----从尾到头打印链表
题目描述:输入一个链表,从尾到头打印链表每个节点的值。输入:每个输入件仅包含一组测试样例。每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。输出:对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。样例输入:12345-1样例输出:54321...
2020-06-29 15:29:26 406
原创 最接地气的C语言结构体与链表教程----手把手教你从0开始写学生成绩管理系统(附完整代码)
引言链表是在C语言各种笔试面试中提及最频繁的数据结构了吧,链表的结构很简单,它是通过指针操作把很多个节点连起来构成一个链状结构。链表的创建、插入节点、删除节点等都只需要20行左右的代码就能实现。难度在于对指针的操作与理解,所以学习链表之前我们还需要有一定的C语言基础,至少要知道什么叫指针以及指针的作用是什么。结构体结构体是由若干个成员组成的。其成员可以使一个基本数据类型,也可以是一个构造类型,甚至可以是另一个结构体。在执行结构体操作之前需先声明结构体。结构体的概念其实很简单,有一定C语言基础的同
2020-06-28 19:21:33 798 1
原创 剑指offer面试题5——替换空格 C语言
题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 输入: 每个输入件仅包含一组测试样例。 对于每组测试案例,输入一行代表要处理的字符串。 输出: 对应每个测试案例,出经过处理后的字符串。样例输入: We Are Happy样例输出: We%20Are%20Happy文末有完整代码免费下载。有这样一个实现思路,因为空格实际上占一个字符,而需要替换的%20占了 ‘%’ ‘2’ ‘0’.
2020-06-17 16:12:53 264
原创 C语言学习笔记——使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按名次输出
题目来自C语言从入门到精通第三版:使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按照名次输出字符数组中对应的学生姓名在网上大致找了一下没有看到C语言实现的版本,于是自己写了一个。对这个题目的要求并不是很明确,题目中的使用字符数组和实型数组分别存储学生姓名和成绩到底是直接通过代码预先储存到相应的字符数组中,还是要通过gets()函数或scanf_s()函数获取字符串再储存。因为是作为学习理解过程,所以我直接按照先获取学生姓名,成绩,再储存到相应数组中,然后对成绩排序,最后按分数从.
2020-06-17 14:37:53 6675 1
原创 C语言中数组的排序算法详解——选择法、冒泡法、交换法、插入法、折半法
选择法排序选择法排序是指:如果要把一个数组从小到大排列,那么就从该数组中依次选择最小的数字来排序。从第一个数字开始,将第一个数字与数组中剩下数字中最小的那一个交换位置,然后将第二个数字与剩下数字中最小的那个交换位置,以此类推,直到最后一个数字。例如输入数组{7,5,4,8,6,2,3}第一次排序通过查找最小的数字,交换7与2的位置;第二次查找5后面最小的数字,找到了3,交换5与3的位置;第三次查找4之后最小的数字,发现并没有数字比4小,交换4与4的位置(相当于没有改变);第四次查找8后面最小的数字5,
2020-06-16 19:41:53 47422 1
原创 C语言实现:剑指offer面试题4——二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个证书,判断数组中是否含有该整数。显而易见可以通过遍历数组中所有数据的方法,来找到是否有满足题意的整数。#include <stdio.h>#define N 100int input[N][N];int num;int m,n;int main(){ scanf_s("%d%d%d",&num,&m,&n).
2020-06-16 16:57:12 328
原创 剑指offer--面试题3 数组中重复的数字 C语言
剑指offer–面试题3 数组中重复的数字 C语言本人是2021应届毕业的小白,在写代码的过程中参考的是剑指offer第二版,C语言从入门到精通第三版,以及一些网上大神给的例程。欢迎指正。题目一:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或3.解决这个题目的一
2020-06-16 11:32:00 387
面试题6--从尾到头打印链表.c
2020-06-29
stlink_vcp.inf_amd64_neutral_2ed559d56d23fb91.rar
2020-06-18
剑指offer面试题5-替换空格C语言.cpp
2020-06-17
C语言中数组的排序算法.rar
2020-06-16
练习题4-二维数组中的查找.cpp
2020-06-16
找出数组中重复的数字.rar
2020-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人