
习题
mzx1317557721
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数组、指针与函数指针
指针数组指针数组是一个数组,数组的每一个元素都是一个指针。数组指针数组指针,是一个指针,每个指针可以指向一个数组。而且在定义数组指针事,指针所指向的数组大小和类型已经确定。 int (*parr)[4]——该指针指向一个四个int型元素的数组 char (*pch)[5]——该指针指向一个五个char型元素的数组函数指针一个指向函数的指针,需指明所指向函数的参数类型。 void (*pfun)原创 2017-05-13 08:14:20 · 248 阅读 · 0 评论 -
c++ 单链表
sList.h#pragma once#include <iostream>#include <assert.h>using namespace std;typedef int DataType;struct SListNode{ SListNode* _next; DataType _data; SListNode(DataType x) :_data(原创 2017-07-20 10:25:53 · 376 阅读 · 0 评论 -
c++ 顺序表
seqence_list.h#pragma once#include <iostream>#include <assert.h>using namespace std;typedef int DataType;class SeqList{public: SeqList() :_array((DataType*)malloc(sizeof(DataType)*4))原创 2017-07-20 10:22:22 · 362 阅读 · 0 评论 -
c++ 双向链表
dList.h#pragma once#include <iostream>#include <assert.h>using namespace std;typedef int DataType;struct ListNode{ ListNode(DataType d = 0, ListNode* next = NULL, ListNode* prev = NULL)原创 2017-07-20 10:27:39 · 352 阅读 · 0 评论 -
单链表习题(进阶二)——复杂链表复制
题目复杂链表的复制。一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个random指针指向这个链表中的一个随机节点或者NULL,现在要求实现复制这个链表,返回复制后的新链表。 解法一(暴力求解) 1. 这个复杂链表是以单链表为基础的,可以先复制一个单链表,random 指针在原链表上的位置与新链表是相对应的,建立同步投影指针 shadow,与 cur 在原链表上同步,找新链表上的原创 2017-06-15 11:26:21 · 493 阅读 · 0 评论 -
class string
字符串类的增删查改class String{public: String(const char* str = ""); ~String(); String(const String& s); //const String& operator=(const String& s); const String& operator=(const String& s)原创 2017-07-14 15:15:05 · 1371 阅读 · 0 评论 -
class Complex
复数类类的四个成员函数:构造、析构、拷贝构造、赋值运算符重载等于、不等于运算符重载+、+=、-、-=、*、*=、/、/=求模打印不提供大小比较(无法区分复数相等和模相等)comple.h#ifndef __COMPLEX_H__#define __COMPLEX_H__#include <iostream>using namespace std;class Complex{pu原创 2017-06-25 23:05:43 · 1593 阅读 · 0 评论 -
单链表习题(进阶一)
题目判断单链表是否带环?若带环,求环的长度?求环的入口点?并计算每个算法的时间复杂度&空间复杂度。 判断两个链表是否相交,若相交,求交点。(假设链表不带环) 判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】 求带环链表环长(无环返回 -1)思路快慢指针法,快指针一次走两步,慢指针一次走一步,如果链表带环,则从慢指针到达入口点开始,由于快慢指针都在环上移动,每次移动快指针原创 2017-06-12 22:54:06 · 472 阅读 · 0 评论 -
单链表习题(初级)
题目总览从尾到头打印单链表 删除一个无头单链表的非尾节点 在无头单链表的一个节点前插入一个节点 单链表实现约瑟夫环 逆置/反转单链表 单链表排序(冒泡排序&快速排序) 合并两个有序链表,合并后依然有序 查找单链表的中间节点,要求只能遍历一次链表 查找单链表的倒数第n个节点,要求只能遍历一次链表 思路及代码从尾到头打印单链表递归法,若当前节点不为空,在打印当前节点前打印上一个节点。原创 2017-06-10 21:53:20 · 1001 阅读 · 0 评论 -
在旋转之后的已排序数组中查找一个数字
题目在旋转之后的已排序数组中查找一个数字思路解析在已排序数组中查找一个数字我们知道用二分查找,此题目的难点在于中间数(mid)与查找数(key)的大小关系确定后,断点位置与要查找的范围的确定。 数组A 4 5 6 7 8 9 1 2 3 数组B 8 9 1 2 3 4 5 6 7 9 1 为断点位置,当mid>key时最简单的情况当left < key 且 left < mid时,所查找数原创 2017-06-05 22:37:26 · 405 阅读 · 0 评论 -
字符串全排列
问题给一个字符串,输出所有的排列方式。问题思路当只有一个字符或没有字符时,直接输出,返回1。处理两个字符的情况:交换——输出——交换——输出。 处理完后保证顺序不变。处理两个以上字符的情况:转化,第 num 个字符有 num 种情况的 num-1 个字符处理,直到到处理两个字符时。 第 i 次处理时交换第 num 与第 i (或第num-1)个字符,再递归处理 num-1 个字符。处理完原创 2017-06-09 19:30:21 · 266 阅读 · 0 评论 -
共享内存
原理Linux不同的进程所占用的虚拟内存通过页表映射到不同物理内存,通过专门的函数可以使不同的进程访问到同一块物理内存,这样不同的进程就可以通过直接在这块物理内存中读写数据实现通信。相比于管道通信,共享内存省去了两次拷贝过程,速度更快。 管道通信: 数据从进程一所占用的内存拷贝到管道,再从管道拷贝到进程二,实现通信。函数接口#include <sys/types.h>#include <s原创 2017-06-21 16:07:22 · 192 阅读 · 0 评论 -
一组数字中只有两个数单独出现,其他数成对出现,找出这两个数
在写过一个数字单独出现后,知道全体异或后成对出现的数字将抵消,这次将得到两个单独出现的数字的结果得到两个单独出现数字异或的结果后,把两个数字分离出来就可以了,但通过x^y得到其中一个数字需要另一个数字,无法分离,但是我们知道异或为1的位两个数该位必然不同,通过这个比特位把数字分为两组,再分别异或就可以得到这两个数了void check_num(int *arr, int sz,int *x,int原创 2017-04-23 14:03:53 · 990 阅读 · 0 评论 -
class Date 日期类
# class Date日期类是一个经典面试题完成比较运算符重载完成自增、自减运算符重载(前置、后置)完成加减、加等减等 int 变量运算符重载完成日期类相减运算符重载原创 2017-07-09 16:20:16 · 1023 阅读 · 0 评论