自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 二叉树的镜像

题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树节点的定义如下:struct Node{ int _value; Node* _left; Node* _right;};我们刚看到这个题目时,肯定感觉一头雾水。不知道镜像是什么意思,我们可以画一个图来观察一下:

2017-04-28 13:36:06 407

原创 反转链表

题目:定义一个函数,输入一个链表的头街,反转该链表并输出反转后链表的头结点。思路:假如我们已经把a,b两个节点反转完了,现在想反转c节点。我们可以从图中看到,如果把c的next结点直接指向b结点,那么c后面的结点就断开了,以后就找不到了。所以我们可以定义三个指针,分别指向当前遍历到的结点,它的前一个结点,它的后一个结点。当我们反转c结点时,防止链表断开可以先把d结点保存下来。当

2017-04-26 09:54:44 225

原创 链表中倒数第K个节点

题目:输入一个链表,输出链表中倒数第K个节点。为符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个节点。例如,一个链表有6个节点,从头结点开始他们的值依次是1,2,3,4,5,6,。这个链表的倒数第3个节点是值为4的结点。struct Node{ int _value; Node* _next; Node(const int x) :_value(x) ,

2017-04-26 09:32:47 488

原创 调整数组顺序使奇数位于偶数前面

思路:利用两个分别指向数组头尾的指针。假如:first指向数组的第一个元素,end指针指向数组的最后一个元素。向后移动first指针直到它指向偶数,向前移动end指针直到它指向奇数。交换两个指针指向的内容。继续移动,符合条件就继续交换。直到end指针在first指针前,表明所有的奇数全都位于偶数的前面。void ReOrderArray(int* arr, int len){ if (

2017-04-26 09:15:14 209

原创 在O(1)时间删除链表结点

题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。思路:找到要删除的结点i 的下一个结点j ,把后面的结点j 的内容复制到要删除结点i,i->next = j->next, delete j;注意: 删除尾结点时,只能从头到尾遍历链表再进行删除。 只有一个节点,删除头结点。(不要忘记删除把头结点设置成NULL)struct Node{ in

2017-04-24 17:25:49 452

原创 哈希表(散列表)详解及代码实现

散列表(Hash table,也叫哈希表),是根据关键码值(Key, value)而直接进行访问的数据结构。也就是说,它通过吧关键码值映射到表中的一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。

2017-04-19 13:52:52 8094 1

原创 数值的整数次方

题目:实现 double Power(double base,int exponent),求base的exponent次方。注意:要考虑0的0次方,没有意义。0没有倒数,0的-1次方错误。其他数的-exponent,可以先算base的exponent次方,在求倒数。float,double类型的数据比较是否相等,不能直接用==判断。因为他们在计算机中存储的规则不一样,如若两个数差的

2017-04-15 19:55:37 338

原创 二进制中1的个数

题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。方法一:一个数与1相与,如果结果是1,表示该数的最右边以为是1,否则是0;把这个数向右移一位,继续与1

2017-04-13 16:03:18 398

原创 斐波那契数列

#includeusing namespace std;//0,1,1,2,3,5,8,13//非递归long long Fib(long long n){ if (n <= 0) return 0; if (n == 1 || n == 2) return 1; long long x1 = 1; long long x2 = 1; long long sum =

2017-04-12 22:30:50 329

原创 旋转数组的最小元素

题目:把一个数组最开始的若干元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。

2017-04-11 10:39:21 268

原创 两个队列实现一个栈

两个栈实现一个队列链接:两个栈实现一个队列两个队列实现一个栈  思路:插入时:插入不为空的队列里。始终保持一个队列为空。删除时:假如不为空的队列叫q1,空队列为q2.  需要先把q1除最后一个元素,全部导入q2中,然后pop出q1中最后的一个元素。q1此时为空,q2不为空。如果此时想插入,就插入在q2中,删除就重复上述步骤。这样就实现了栈的后进先出。#includeusing n

2017-04-11 09:14:52 365

原创 剑指offer--两个栈实现一个队列

栈:先进后出; 队列:先进先出。思路:我们可以利用两个栈,s1,s2。首先入队时,在s1入栈。如果想要出队,首先判断栈s2是否为空,如为空,把s1的元素压入s2;即,s1栈底的元素就到了s2的栈顶,就可以pop出去。若不为空,直接s2 pop;若入队,直接入栈s1,当出队时,如果s2不为空就pop s2,如果s2为空,就把s1的元素导入s2。例如: 1)入队1,2,3:队列:1

2017-04-05 22:36:28 393

原创 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果都不含重复的 数字。例如,输入前序遍历{ 1, 2, 4, 7, 3, 5, 6, 8 },后序遍历{ 4, 7, 2, 1, 5, 3, 8, 6 },重建二叉树。思路:我们可以利用递归思想。利用前序遍历我们不难发现前序遍历的首元素就是树的根节点。而中序遍历是先访问左子树,根,右子树。我们就可以在

2017-04-05 14:57:07 221

原创 模拟实现atoi函数

atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。注意:atoi( ) 函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过isspace( )函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。如果 nptr不能转换成 in

2017-04-04 14:51:32 1374

原创 模拟实现memcpy,memmove,memset

模拟实现memcpy,模拟实现memmove,模拟实现memset和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。函数原型为:void *memcpy(void *dest, const void *src, size_t n);模拟实现:

2017-04-03 15:34:15 1092

番茄助手可以支持vs2022

番茄助手可以支持vs2022 亲测好用 建议下载使用

2024-03-15

dxf组码中文版手册。

autocad dxf组码中文手册

2022-08-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除