3 Loved_computer

尚未进行身份认证

我要认证

努力拼搏,成就更好人生。

等级
TA的排名 26w+

strtok函数的使用

 strtok函数是用来分解字符串的,其原型是:char *strtok(char str[], const char *delim);其中str是要分解的字符串,delim是字符串中用来分解的字符,该函数返回分解后的字符串的起始位置指针。之所以是分解,就是说并没有生成新的字符串,只是在源字符串上面做了一些手脚,使得源字符串发生了变化,所以一定要注意,源字符串发生了变化!!!先从最...

2018-09-16 20:38:30

去掉字符串多余的空格

#include<iostream>using namespace std;char *deblank(char *arr){ if(arr == NULL) return NULL; char *slow = arr; char *fast = arr; while(*fast == ' ' && *fast != '\0') { ...

2018-09-16 19:19:55

翻转字符串

输入i love you so much,  输出  much so you love i.#include<iostream>using namespace std;void Reverse(char *begin, char *end){ if(begin == NULL || end == NULL) return; while(begin < en...

2018-09-15 19:49:41

复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解题思路:        1、复制每个节点,并将该结点的复制结点插入到该结点后面,        如:链表为:A->B->C->D, 经过复制步骤后...

2018-08-01 17:34:46

C/C++动态内存管理

1:总结并剖析malloc/free和new/delete之间关系和差异。2:剖析new/delete、new[]/delete[]到底做了些什么事情。3:实现NEW_ARRAY/DELETE_ARRAY宏,模拟new[]/delete[]申请和释放数组。malloc/free和new/delete之间关系和差异首先先介绍一下malloc/free函数和new/delete操作符:...

2018-07-28 21:22:00

总结map和set增删查改的使用

在STL中map和set都是关联式容器,vector和list是序列式容器,在今天的这篇文章中主要介绍的是map和set的基本用法。 一、set set是一种key类型的集合结构,所以set是不允许有重复元素的一种结构,set中所有元素的key值都会被自动排序为升序。set和multiset都包含在头文件#include<set>中,set和multiset的底层都是用红黑树实现的,但...

2018-04-02 23:39:53

C++入门

1.命名空间(1)定义:namespace即"命名空间",也称"名称空间" 、"名字空间"。VS.NET中的各种语言使用的一种代码组织的形式 通过名称空间来分类,区别不同的代码功能 同时也是VS.NET中所有类的完全名称的一部分。(2)出现原因 :命名空间是用来组织和重用代码的编译单元。如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太

2018-01-25 11:15:55

C++基本的输入输出流

1.标准的输入和输出对象为了便于使用,C++标准库中已经预先定义了4个最基本的输入/输出流(I/O)对象,其中最常用的是负责键盘输入的cin对象和负责屏幕输出的cout对象。另外,标准库还定义了两个辅助的输出对象,分别是用于输出程序错误信息的cerr和用于输出日志信息的clog。这些对象都已经在标准库中预先定义,只要引入相应的头文件,我们就可以在程序中直接使用它们来完成程序的基本输入/输出

2018-01-25 10:50:03

C++ 命名空间namespace

命名空间在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI中,都大量使用了命名

2018-01-25 10:32:21

C语言单链表面试题(进阶)

结构体定义如下:typedef struct ListNode{DataType data;struct ListNode* next;}ListNode;1.判断单链表是否带环?若带环,求环的长度?求环的入口点?并计算每个算法的时间复杂度&空间复杂度。ListNode* IsOrNotRing(ListNode* pHead){ ListNode* slow =

2018-01-24 17:20:17

复杂链表的复制

题目:有一个复杂链表,其结点除了有一个pNext指针指向下一个结点外,还有一个pSibling指向链表中的任一结点或者NULL。其结点的定义如下:struct ComplexListNode{ int val; ComplexListNode* pNext; ComplexListNode* pSibling;};下图是一个含有4个结点的该类型复杂链表。

2018-01-24 13:15:11

C语言实现单链表面试题

1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用? 链表顺序表每个元素的访问每个节点都需要通过指针找到内存然后加载到缓存中内存访问时,不需要多次从内存到缓存的步骤头插,头删,中间位置直接增加或删除节点在插入或删除之前要先对之后的数据进行挪动尾插,尾删需要对空间进行操作直接对数据进行操作,空间是之前

2018-01-23 21:55:24

插入排序(insertion sorting)

大体含义是这样的,想我们在打扑克牌理牌时的思路一样,来一张扑克牌做一次插入操作://编程实现插入排序算法 #include#include using namespace std;//函数功能:插入排序函数  //函数参数: a为一个整数数组,n为数组a的长度  void insertionsort(int *a,int n){  f

2017-12-30 14:03:24

string引用计数的写时拷贝

string的各种实现:#include class String{public:String(char* str = "") :_str(new char[strlen(str) + 5]) { strcpy(_str+4, str); _str += 4; GetRefCount() = 1; } String(const String& s) :_str(

2017-12-23 18:17:53

c++实现表达式计算问题

#include #include #include using namespace std;//栈的定义templatestruct Node{T data;Node *next;};templateclass LinkStack{public:LinkStack();~LinkStack();T & GetTop();//获取

2017-12-16 20:54:45

迷宫问题

迷宫最优解问题:迷宫地形我们可以通过读文件的形式,通过已知入口逐个遍历坐标寻找通路。文件如图:每个坐标的位置用结构体来记录:struct Pos    //位置坐标  {     int  _row;     int _col;  };  定义行列范围#define M 10   //行  #define N 10   //列  初始化迷

2017-12-16 20:26:03

sizeof的详尽计算结构体字节数方法

Sizeof用法本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type};对结构MyStruct采用

2017-08-07 16:23:36

模拟实现strstr,memcpy,memmove

模拟实现strstr#include#includechar *my_strstr(char *dest, char *src){ char *p = NULL; char *s = NULL; assert(dest && src); if(*src == 0) return NULL; while(*dest) { p = dest;

2017-08-05 20:16:27

C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数

1. 数组名  C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质:int nArray[10] ={ 0 };int *p = nArray;printf("nArray:%p , p = %p\n", nArray,p);打印出来的将会是两个相同的值.但是数组名并不意味着和指针完全相同, 数组名还有另一个

2017-08-01 20:49:38

字符串的左旋和右旋

实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符的到BCDAABCD左旋两个字符的到CDAB#include#includevoid reverse(char arr[], int s, int e){ while(s<e) { char tmp; tmp = arr[s]; arr[s] = arr[e]; a

2017-07-31 13:37:01

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!