自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yinghuhu333333的博客

搬砖砖砖砖砖...........................................

  • 博客(9)
  • 收藏
  • 关注

原创 C语言---一组数组中只有两个数字出现一次,其他数字都是成对出现的,请找出这两个数字。

啦啦啦。。。。。。。首先我们先找出:数组中只有一个数字出现一次,其余数字都成对出现。实现的方法其时间复杂度为O(1);使用异或:其数字的二进制位相同为0,不同为1.所有数字都异或,最后的异或结果就是那个只出现一次的数字。下面是代码实现:void FindDifference(int arr[],int n){ int i = 0; int s = arr[0]; if(n == 0 || ...

2018-02-22 00:11:59 570

原创 (不调用库函数)实现字符串长度,字符串排序,选择排序

1.(不使用库函数)求字符串长度字符串结束的标志是‘\0’,用循环即可。void StringLength(char *arr){ int i = 0; while(arr[i] != '\0') { i++; } printf("字符串的长度是%d\n",i);}进阶:不引入变量,求字符串长度int Strlen(char *arr){ if(*arr == '\0')...

2018-02-09 20:58:23 1493

原创 堆栈面试题之共享栈,最小栈,判断一个序列是否由一个栈进行基本的入出栈操作而得到

1.共享栈:方法:用数组实现,定义一个结构体,结构体中包含2个栈,其中一个栈的栈底数组中下标为0处,而两外一个栈的栈底为数组的最大值处。当两个栈的栈顶相遇时,即栈满。2.最小栈:即:每次取栈顶元素取出来当前栈中最小的元素。方法1:使用2个栈来实现,一个栈用来保存入栈的所有元素,另外一个栈用来保存当前栈中最小的元素。所以在取栈顶元素时就从保存较小元素的那个栈中取。可能讲的不是很清楚,看下图所示:方法...

2018-02-08 15:42:57 1046

原创 最大公约数和最小公倍数

最大公约数:辗转相除法如果两数之中较大的数可以整除较小的数,则较小的数就是最大公约数。若不能整除,就让大数对小数取余的数作为除数,原来的除数作为被除数。以此循环,直到最后大数对小数取余的结果为0为止。最小公倍数:首先要得到较大的数字,然后让较大的数字除以较小的数,若可以整除,大数即是最小公倍数。否则,让大数每次以倍数增大,直到可以整除较小的数为止。下面是代码的实现:void IsCommon(in...

2018-02-08 15:38:10 308

原创 判断字符串或数字是否是回文序列

1.判断是否是回文数字先得到数字的个位,然后让个位最为第一个, 新数 = 新数*10 + 余数,余数为数字除以10然后对10取余。直到原来的数字小于10即停止循环。2.判断是否是回文字符串这个比较简单:从字符串的头和尾依次进行比较是否相等。下面是VS2008环境下实现的:void IsPalindrome(int number) //数字的判断{ int m = 0; int p = nu...

2018-02-08 15:24:17 1709

原创 单链表的面试题---找到链表的中间节点--找到链表的倒数第K个节点

第一题:找到单链表的中间节点(且时间复杂度为O(1))快慢指针的方法:两个指针同时从头结点出发,快指针一次走2步,慢指针一次走1步,当快指针走完所有节点时,慢指针就恰好是该单链表的中间节点。(要注意单链表的长度是奇数还是偶数)第二题:找到链表的倒数第K个节点(时间复杂度为O(1))同样使用两个指针:让其中一个指针先走K步,然后让两个指针一起走。当先走的那个指针走完链表是,后出发的那个指针就是倒数第...

2018-02-05 19:06:49 487

原创 C语言版的单链表常见面试题:判断单链表是否带环,求环的长度,求环的入口

今天主要来解决一下以下几个面试题:1.判断单链表是否带环,若带环,则返回1;如何判断单链表是否带环:在这里,我们可以使用快慢指针。慢指针一次走一步,快指针一次走两步。如果带环,一定会在某个节点处快慢指针相遇;不带环,就会一直遍历到链表结束。(注意:快指针并非可以一次走任意步数,但是若带环每次走两步就一定会相遇);2.若单链表带环,求出环的长度;这个就比较easy了,在上一题的基础上,当快慢指针相遇...

2018-02-04 20:16:45 718

原创 单链表的逆置和从尾到头打印单链表

从尾到头打印单链表:递归法。先声明一个节点为头结点(cur = *head),当cur->next为空时,输出打印cur节点。否则,就一直调用该节点。单链表逆置:头插法。即删掉头结点的下一个节点,然后把删掉的节点进行该链表的头插。例如:这样,就可以把节点b插到a的前面。以此类推,知道cur->next==NULL为止。单链表逆置还有一种方法:初始化3个节点,然后按照顺序以此进行交换赋值...

2018-02-04 12:10:57 688

原创 带头结点的双向链表

双向链表:每个数据节点中都有两个指针,分别指向该节点的前一个节点和后一个节点,所以在进行操作时就比较方便。在这里,我写的是带头节点的双向链表,所谓的头结点,它仅仅只是一个标志,并不保存任何数据。上面就说一个简单的双向链表。下面是我的代码:基本操作有:①双向链表的头插,尾插,头删,尾删,查找;②双向链表的任意位置之前插入元素,任意位置之后插入元素;依据元素的值进行元素的删除,依据元素的位置进行删除;...

2018-02-02 16:25:19 1589

空空如也

空空如也

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

TA关注的人

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