练习题
是谁在许愿瓶里写满了悲哀
绳可锯木断,水可滴石穿。
展开
-
输入3个整数x,y,z按从小到大的顺序输出
#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;int main(){ int x, y, z;//定义三个整形变量想x,y.z int temp = 0;//定义一个中间变量 cout << "请输入三个数:"; cin >> x >> y >> z; if原创 2017-04-18 22:58:40 · 7080 阅读 · 0 评论 -
二叉树的镜像
什么是二叉树的镜像?如图: 过程:线序遍历二叉树的每个节点,如果当前节点有孩子,交换左右孩子;交换所有的节点的左右孩子就得到了二叉树的镜像。代码:void mirror_R(Node* root)//递归{ if(root == NULL) return; Node* tmp = root->left; root->left ...原创 2018-07-28 09:44:05 · 127 阅读 · 0 评论 -
小青蛙走迷宫的问题
小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径),小青蛙在迷宫中水平移动一个单位距离需要消耗1点体...原创 2018-07-30 09:12:37 · 724 阅读 · 0 评论 -
【C++】输入一行个数不等的数,或者一行字符串,按“Enter”结束,并将其保存。
从键盘输入一行数,按“Enter”结束#include&amp;lt;vector&amp;gt;#include&amp;lt;iostream&amp;gt;#include&amp;lt;stdio.h&amp;gt;using namespace dtd;int main(){ vector&amp;lt;int&amp;gt;v; int a原创 2018-05-31 00:37:17 · 617 阅读 · 0 评论 -
顺时针打印矩阵
看到题目,这道题没有复杂的数据结构和高级算法;看起来似乎是个很简单的问题,但是其中有多层循环,已经大量的边界判定条件等。 思路: 如图:打印顺序是:上面一行—>右边一列 —–> 下面一行——>左边一列;知道图里的空白格都变成彩色; 我们用x,y 控制上面和左边的边界;end_row,end_col控制下面和右边的边界; 开始时:x=0; y=0; end_row=4...原创 2018-05-30 18:05:50 · 133 阅读 · 0 评论 -
练习题
1,输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符。例如,“They are student.”和“aeiou”,则删除之后的第一个字符串就是“Thy r stdnt.”; 思路:首先必须的遍历第一个字符串,找到第二个字符串中出现的字符;但是如果拿第二个字符串的每一个字符挨个从第一个中找效率太慢,时间复杂度为O(m*n);于是我们可以用哈希表原理:是根据关键码值(Key value原创 2018-01-06 03:59:44 · 380 阅读 · 0 评论 -
【c语言】单链表的基础面试题
1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用? 答: 1,顺序表支持随机访问,单链表不支持随机访问。 2,顺序表插入/删除数据效率低,时间复杂度是O(n),(除尾插,尾删);单链表插入/删除效率高,时间复杂度是O(1)。 3,顺序表的CPU高速缓存效率更高,单链表的低。 在插入和删除频繁的程序中适合用链表 2.从尾到头打印单链表 3.删除一个无头单链表的非尾节点原创 2017-06-12 20:10:47 · 279 阅读 · 0 评论 -
【c语言】单链表的基本操作
List.h文件代码#pragma once#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int DataType;typedef struct ListNode{ DataType data; struct ListNode* next;}ListNode;ListNode* BuyNode(Da原创 2017-06-10 23:09:04 · 274 阅读 · 0 评论 -
用C语言模拟实现C++多态
c++的多态: 代码如下:#include<iostream>using namespace std;class A{ virtual void fun() { cout << "A:fun()" << endl; } int a;};class B :public A{ virtual void fun() {原创 2017-05-09 23:08:26 · 347 阅读 · 0 评论 -
从键盘输入10个整数求和,输入0结束
代码入下:#include<iostream>using namespace std;int main(){ int n = 0;//输入变量 int sum = 0;//存放和的变量 cout << "请输入数,输入0结束!" << endl; cin >> n ; while (n != 0) { sum += n;原创 2017-04-19 22:19:52 · 8952 阅读 · 1 评论 -
根据一个代表星期几的0到6之间的整数,在屏幕上输出它代表星期几
代码如下:#include<iostream>using namespace std;int main(){ int w = 0; cout << "请输入代表星期的数:" << endl; while (1) { cin >> w; switch (w) { case 0:原创 2017-04-19 17:05:57 · 4563 阅读 · 0 评论 -
输入三角形的3边长,求三角形面积
假设三角形三边长a,b,c,面积公式如下: area= √(s(s-a)(s-b)(s-c)); s = (a+b+c)×1/2 注意:此处用到数学库函数“math.c”提供的sqrt 代码如下:#include<iostream>#include<math.h>using namespace std;int main(){ cout << "请输入三条边的长:" << en原创 2017-04-19 16:35:35 · 21888 阅读 · 2 评论 -
完美世界的笔试编程题+删除字符串多余空格并且逆置字符串+双向链表实现队列
完美世界笔试题之破解密电前需要获取完整的数字电报,将电报里的数字反序同时还需要去除多余的空格; //例如:“1 5721 23” - &gt;“23 5721 1” 我的思路:1,去掉开头和末尾的空格2,处理字符串中间的多余空格,(用后面的字符填充)3,旋转处理:先逆置整个字符串,再把每个字串逆置代码如下:#include&lt;iostream&gt;#include&...原创 2018-08-28 23:49:29 · 303 阅读 · 0 评论