自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 【C++学习笔记】----类和对象(中篇)(构造函数,拷贝构造,析构函数,运算符重载,const)

1.构造函数对象创建时完成对象的初始化,而不是创建对象开空间。#include<iostream>using namespace std;class Time {public: Time() { _hour =0 ; cout << "Time() "<< endl; }public: int _hour;};class Date...

2020-04-30 23:46:39 166

原创 【C++学习笔记】----类和对象(上篇)

1.类的定义#include<iostream>using namespace std;int& f2() { int m=1; return m;}class Date { //成员函数 //成员变量public: Date Date1();//成员函数声明 void Date2() {//类内定义 } //private: int _yea...

2020-04-30 16:14:05 180

原创 根据输入的日期,计算是这一年的第几天。。 详细描述: 输入某年某月某日,判断这一天是这一年的第几天?。

1.题目题目描述根据输入的日期,计算是这一年的第几天。。详细描述:输入某年某月某日,判断这一天是这一年的第几天?。接口设计及说明:/*****************************************************************************Description : 数据转换Input Param : year 输入年份Mon...

2020-04-29 23:44:32 2784

原创 找出字符串中第一个只出现一次的字符

1.题目2.代码展示#include<iostream>#include<string>using namespace std;int main(){ string s; while(cin>>s){ int flag=0; int count[26]={0}; for (auto c...

2020-04-29 23:39:00 195

原创 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。

1.一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]2.代码展示/** * Note: The re...

2020-04-25 13:34:34 899

原创 【设计模式】----桥接模式(内附类图)

1.概念桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维 度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职 责原则”。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构, 并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥 接模式。桥接模式用一种巧妙的方式处理多层继承存在的问题,...

2020-04-17 22:19:09 2614

原创 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。

1.请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:0000...

2020-04-17 00:17:27 1367

原创 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

1.输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]2.代码展示/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */...

2020-04-17 00:09:06 2115

原创 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链

1.输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->52.代码展示/** * Defin...

2020-04-14 23:57:10 455

原创 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"

1.字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”...

2020-04-13 23:31:26 1250

原创 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)

1.求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 452.代码展示int sumNums(int n){ n&&(n+=sumNums(n-1)); return n;}3.思路分析...

2020-04-13 00:27:07 558

原创 【设计模式】----工厂方法模式简介

1.概念1.工厂方法模式,在静态工厂方法的基础上,进行“升级”,,工厂方法模式最重要的区别是引入了抽象工厂角色,抽象工厂可以是 接口,也可以是抽象类或者具体类。2.在抽象工厂中声明了工厂方法但并未实现工厂方法,具体产品对象的创建由其子类负责,客 户端针对抽象工厂编程,可在运行时再指定具体工厂类,具体工厂类实现了工厂方法,不同 的具体工厂可以创建不同的具体产品。3.在实际使用时,具体工厂类在实...

2020-04-12 23:06:04 106

原创 请实现一个函数,把字符串 s 中的每个空格替换成百分号20。

1.请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 100002.代码展示char* replaceSpace(char* s){ int count = 0; int len = strlen(s); ...

2020-04-10 17:59:49 975 1

原创 【排序算法总结】----对比常见排序算法复杂度,稳定性分析,及主要代码

学习了一些常见的排序算法,我在这里对它们进行一个梳理,我们以升序为例子。常见排序算法主要有:直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,计数排序。稳定性:算法在实现的过程中是否会改变相同元素的相对位置,不改变则稳定。1.直接插入排序主要代码void InsertSort(int* arr, int n){ for (int i = 0; i < ...

2020-04-08 23:59:16 776

原创 【排序算法】----详解计数排序算法

1.概念计数排序是一种非比较排序,它适用于范围比较集中的数据处理。临时开辟一个数组,通过统计数据的个数,将数据集中,再将这个数组展开,实现排序的过程。2代码展示#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>void CountSort(int *arr,int n){...

2020-04-08 16:17:29 518

原创 【排序算法】----详解快速排序算法(hoare法,挖坑法,指针法,三数取中优化)

11

2020-04-07 23:39:33 398

原创 【C++学习笔记】----(命名空间,缺省参数,重载,引用,内联函数,auto,空指针,extern)

1.命名空间概念:C语言是将库函数封装在头文件中,我们在对变量等命名的时候不能和库函数的一样,例如printf。所以C++中为了避免这个问题,引入命名空间的概念,即:某个命名仅仅在它的命名空间起作用,通过这个很好的将同名问题解决了。(1).命名空间的定义namespace N{//变量int a =10;//函数}1.直接定义2.可以嵌套3.同一工程下同名命名空间会合并。(...

2020-04-06 15:41:07 247

原创 【数据结构】模拟实现双向带头循环链表(头插,头删,尾插,尾删,查找,pos前插,删除pos)

List.h#define _CRT_SECURE_NO_WARNINGS 1#pragma once#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<assert.h>// 2、带头+双向+循环链表增删查改实现typedef int LTDataType;...

2020-04-05 22:49:05 232 1

原创 【数据结构】模拟实现二叉树(二叉树的实现,查找,前中后层序,深度,叶节点,K层,结点数)

1.概念1.二叉树每个结点最多有两颗子树,且有左右之分,次序不能颠倒。2.完全二叉树:K-1层结点为满,K层从左至右为连续。3.满二叉树:二叉树的结点个数为2k-1,K-1层的左右子树(叶子)为满。4.存储分为:链式和顺序。链式可以直接通过指针访问:顺序访问:若i>0,i位置节点的双亲序号:(i-1)/2;i=0,i为根节点编号,无双亲节点parent = (i-1)/2...

2020-04-03 15:14:00 248

原创 【数据结构】模拟实现栈

1.概念栈是一种遵循先进后出的特殊线性表。入数据只能从栈顶入,出数据只能从栈顶出。所以实现栈,通过数组实现最优,因为总是从最后一个拿出数据。2.代码展示Stack.h#define _CRT_SECURE_NO_WARNINGS 1#pragma once#include<stdlib.h>#include<stdio.h>#include<as...

2020-04-01 18:11:32 217

原创 【数据结构】模拟实现队列

1.2.代码展示#include"Queue.h"// 初始化队列void QueueInit(Queue* q){ assert(q); q->_front = NULL; q->_rear = NULL;}// 队头出队列void QueuePop(Queue* q){ assert(q); //只有一个元素 需要将队尾也置空 //两个 if...

2020-04-01 17:57:27 224

空空如也

空空如也

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

TA关注的人

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