1 波妞喜欢大鸡霸

尚未进行身份认证

大家可以关注我,我会经常发一些劣质代码上来的。

等级
TA的排名 49w+

memcpy函数的内存重叠问题

思路:memcpy函数是其实不难写,就是将任意类型 count个字节给复制而已。但是问题主要出现在自身复制到自身的时候。加入目标位置小于初始位置+复制的字节数,那超出目标位置的内容就会被新内容覆盖,导致内存重叠。解决方法就是从后往前复制了,虽然还是会覆盖,但是不影响我们想要输出的结果了。举个例子:我们代码里定义了char s1[]=“abcdefghi”假如我要memcpy(s1+2,s1,5...

2020-01-30 01:29:15

手写strcpy时发现的一个小问题

先直接上我原来的代码#include <iostream>#include <assert.h>char * strcpy(char* s1,const char *s2){ assert(s1); assert(s2); char * temp=s1; while((*s1++=*s2++)!='\0'); return t...

2020-01-29 20:25:53

C++实现 从建立单链表到反转单链表的完整代码

解题思路:这道题本来是让反转单链表的,不过前提肯定是要以建立单链表。因此我分成了两个方法,一个init建立单链表,一个reverse反转单链表。(幸好做了这道题,不然都不会发现自己忘了单链表怎么建立,查漏补缺)这里建立单链表用的是尾插法。反转单链表用了三个指针,两个辅助指针,还有一个链表的头指针。(这里也卡了我好久,差点把自己绕蒙了)#include <iostream>#incl...

2020-01-24 01:00:43

c++ 找出字符串中第一个不重复的字符

c++ 找出字符串中第一个不重复的字符题目思路:想了很多方法,一直想能不能效率更高一点,不过想来想去还是Vector用来存第一次出现的顺序,和map建立映射关系用来存次数比较容易实现。分别用了两个for遍历两次,第二个for里还涉及了map查找,可能时间复杂度会更高一点,不过应该比双重循环好一丢丢。更高级一点的做法等以后想出来了再改。#include <iostream>#inc...

2020-01-23 13:11:44

C++ 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字

一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字

2020-01-22 00:03:40

C++ 两个栈组成一个队列(用类模板和stack)

思路思考其实很普遍,就是定义两个栈,一个作入栈,一个作出栈。定义成只能从入栈入,出栈出就是队列了。只不过中间还要根据条件判断把入栈元素转入出栈以便倒置成先进先出罢了。代码没仔细检查,运行过没啥问题,应该没错。#include <iostream>#include <stack>template<class T>class Queue{ pu...

2020-01-21 18:19:35

CCF-CSP 201903-2 24点四则运算(c++)

题目说明解题思路前几天刚学完C++基础。所以首先要说明的是这是练手的时候弄的完全没有必要的写法,虽然是也是对,但是绕了一个大圈,效率不高。进正题,四则运算的话一般用栈比较容易实现,所以分别设置了数据栈和运算符栈。一开始直接把每一行用例都当成一串完整的字符串输进去,然后逐位取出来判断,是运算符则保留string形式,是数字则转为int整形,对数字和运算符分别压栈处理。(这里绕远了)要注意...

2019-09-13 22:13:22
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。