自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 I/O多路复用之select

​系统提供select函数用来实现I/O多路复用输入/输出模型。selsect系统调用是用来让我们的程序监视多个文件描述状态变化的。程序会停在select这里等待,直到被监视文件描述符有一个或多个发生状态变化。通常I/O操作有两个步骤,一个是等,另一个是数据搬迁。select主要是在等的这个状态阻塞着直到事件发生。​...

2022-08-16 21:23:05 236 1

原创 不同类型数据间的转换

对于标准数据类型的转换,编译系统会给出说明,会让我们知道是怎样进行转换。而对用户自己声明的类型,编译系统并不知道怎样进行类型转换,解决这个问题的关键是让编译系统知道怎样去进行转换,这就需要定义一些专门的函数类处理。......

2022-08-13 21:02:17 534

原创 Static 静态成员

Static 静态成员

2022-08-12 17:22:30 468

原创 git FreshMan指南,五分钟上手(图解)

目录一、Git 工作流程二、Git 工作区、暂存区和版本库基本概念三、Git 的基本操作创建仓库命令提交与修改提交日志远程操作四、Git 分支管理五、Git 查看提交历史一、Git 工作流程基本流程如下克隆 Git 资源作为工作流程。 在克隆的资源上添加或修改文件。 多人修改时,可以更新资源 提交前查看历史修改记录 提交修改 提交完成后,后续发现错误,修改后再提交二、Git 工作区、暂存区和版本库基本概念工...

2022-04-08 23:03:20 374 7

原创 美团3.12笔试题解

美团3.12笔试题解

2022-03-23 17:46:08 2403 4

原创 String类的模拟实现

#include <iostream>#include <string>#include <assert.h>namespace bite{ class string { public: typedef char* iterator; private: char* _str; //给出静态顺序表 size_t _size; // 大小 size_t _capacity;

2022-01-10 13:59:29 340

原创 如何定义一个只能在堆上生成对象的类?

如何定义一个只能在栈上生成对象的类?首先我们想一下,一个对象它既可以在栈上生成也可以由我们在堆上new生成。现在我们如果只想在堆上生成对象而不能在栈上生成对象,在类外我们是无法完成的,所以我们必须从类的内部来入手。 那么我们开始操作:我们知道类对象的初始化是由类的构造函数完成的,如果我们把类的构造函数访问权限声明为protected,让构造函数不能在类外调用,这样做就保证了在类外不能在栈上生成对象了,但同时,我们也不能在类外new出对象了。怎么办?我们可以在类内new一个对象并且提供一个公有的

2021-12-02 19:42:54 323 1

原创 如何定义一个只能在栈上生成对象的类?

如何定义定义一个只能在栈上生成对象的类???这种题主要考的是对C++语法的理解,以及对C++语法的运用。分析:对象可以在栈上生成也可以由我们在堆上new出来。要想只在栈上生成对象而不能在堆上生成对象在类外是无法完成的,我们必须从类的内部入手。第一种方法时:我们知道类对象的构造是由构造函数完成的,如果我们把构造函数声明为私有或者保护类型,那么在类外就不能调用构造函数,也就不能在类外面new出对象。但这样同时也不能在类外定义对象。对此,我们需要在类里定义一个公有接口来返回成员函数的对象,之后在类外

2021-11-25 19:58:13 256 1

原创 海量数据面试题

1.给出一个超过100G的log file, log中存着ip地址,设计算法找到出现次数最多的ip地址?思路:由于文件超过100G,所以我们只能对文件切分,然后再利用数据结构来求解。难点就是如何切分效率最高???解决方法这个时候我们可以使用哈希切分,将同一个ip都分割在同一个文件,注意同一个ip经过同一个散列哈希函数一定会进入同一个文件中,然后再统计每一个文件中出现最多的ip的次数,最后将这些进行顺序比较就能的到结果。又出现一个新的问题?最极端的情况:如果经过哈希散列函数之后一个ip次数特别多,

2021-11-21 20:58:26 1164 1

原创 this指针

每一个对象中的成员函数都占有存储的空间,如果一个类定义了n个对象的话,那么就有n个大小相等的空间来存放这n个对象的数据成员,但是不同的对象都调用同一个代码段。那我想问一句,当不同对象的成员函数引用数据成员时,怎么能够保证引用的是所指定的对象的数据成员呢?例如:设计一个长方体类#include<iostream>using namespace std;class Box{public: Box(int length = 0, int width = 0, int height =.

2021-11-18 19:47:42 139 1

原创 运算符重载

1.什么是运算符重载?我们已经知道函数重载就是根据不同的参数列表,实现一些类似的新的功能。也就是同一个函数名多个用处。运算符也可以进行重载,比如+,-,*,/都可以重载。甚至如 << (左移),在输出操作中与流对象cout配合使用实现输入操作。 >> (右移), 在输入操作中与流对象cin配合使用实现输入操作。(舍友提问我了,要如何重载<< 和 >>,所以总结一下哈)在C++中,用户不能直接用C++提供的运算符来实现用户自定义类的运算,所以用户必须根据

2021-11-16 20:14:28 6879 1

原创 函数 重载

1.什么是函数重载?函数重在是指在同一个作用域内,有多个函数名相同,但是形参列表不同(参数类型不同,参数个数不同,参数顺序不同),返回值无关,我们将这种叫做重载函数。重载的函数是通过形参列表区分的,和其他无关。一句话来说“一个接口,多种实现”,不仅函数可以重载,运算符也可以重载。例如:如果要实现一个加法运算,加法函数可以是整型也可以是浮点型,就可以使用函数重载实现。这样实现后,我们进行加法运算,则只需要调用ADD函数,编译器会根据我们传递实参的类型和个数,顺序判断想要调用那个ADD函数。注意:m

2021-11-15 19:38:27 10794 2

原创 类和对象+面向过程和面向对象

1.什么是类?什么是对象?类:类是一个通用的概念,C++、Java、C#、PHP 等很多编程语言中都支持类,都可以通过类创建对象。可以将类看做是结构体的升级版,C语言的晚辈们看到了C语言的不足,尝试加以改善,继承了结构体的思想,并进行了升级。我在这里主要说一下C++中的:C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。C语言中的 struct

2020-10-02 11:27:27 231 2

原创 初学C语言【14】寻找单身狗

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。LeetCode:只出现一次的数字,题目链接示例输入:[ 1,2,3,4,5,2,1,3 ]输出:4 , 5方法一:先对数组进行排序,排序后进行相邻的数字比较是否相同。图示:#include<stdio.h>void Bbsort(int* a,int n)//冒泡排序{...

2020-05-07 00:04:39 1383 3

原创 初学C语言【13】[结构体+枚举+数组+循环+define]

contact.h(头文件)#define MAX 1000#define MAX_NAME 20#define MAX_SEX 5#define MAX_TELE 12#define MAX_ADDR 30#include<stdio.h>#include<string.h>enum Option{ EXIT,//0 ADD, DEL, S...

2020-04-29 15:33:42 1128

原创 初学C语言【12】qsort 运用理解和模拟实现

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h> //void bbuble_sort(int arr[10])//{// int i, j;// for (i = 0; i < 10; i++)// {// fo...

2020-04-15 23:39:32 167

原创 初学C语言【11】数组指针习题

//数组名是首元素的地址的情况(固定) //1.sizeof(数组名)-- 数组名表示整个数组 //2.&数组名 -- 数组名表示整个数组 //一维数组 int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a)); //sizeof(数组名)-- 计算的是数组总大小—单位是字节 为第一种情况-4 * 4 = 16 printf("%d\...

2020-04-13 23:19:40 410

转载 PTA:7-28 猴子选大王 (20分)

https://blog.csdn.net/weixin_43871127/article/details/104365027

2020-03-29 21:33:07 329

原创 C语言游戏——三子棋

game.c//所用的库函数和自定义函数的声明#define COL 3 //列#define ROW 3 //行#include<stdio.h>#include<stdlib.h>#include<time.h>void CopyBoard(char board[ROW][COL], int row, int col);void...

2020-03-22 10:46:22 192

原创 初学C语言【10】数据存储练习题

//整型存储1#include <stdio.h> int main(){ char a= -1; signed char b=-1; unsigned char c=-1; printf("a=%d,b=%d,c=%d",a,b,c); return 0; }2#include<std...

2020-03-08 12:53:30 280

原创 初学python【2】凯撒密码

恺撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B Cpassw...

2020-01-07 12:57:19 635

原创 初学python【1】求S的和

sum = 0n = eval(input())if n<0: errorelse: for i in range (1,n+1): sum = n*i+sum n-=1print(sum)比如n=3,就可以换算为3个1,2个2,以及1个3: sum=3*1+2*2+1*3就是倒着相乘。或者直接用数学公式s=n*(n+1)...

2020-01-05 17:37:43 511

原创 初学c语言【9】插入排序

#include<stdio.h>int main(){ int n = 0; int arr[100] = { 0 }; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } for (int i = 0; i < n; i++) { pri...

2019-12-07 10:31:44 147

原创 初学C语言【8】有序数组插入,有序数组删除

**有序数组插入**#include<stdio.h>int main(){ int arr[7] = { 3,5,7,10,12,18,22 }; int i, x; printf("input x:\n"); scanf("%d", &x); for (i = 0; i < 7; i++) { if (arr[i] == x) break;...

2019-11-28 21:25:59 1163

原创 初学C语言【7】冒泡法排序,选择法排序,

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮...

2019-11-22 14:17:19 296

原创 初学C语言【6】二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。#include<stdio.h>int erfen_search(int arr[],int left,int right,int n){ while (left <= right) { int mid = ...

2019-11-20 16:20:59 199

原创 猜数游戏

#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("###############################################\n"); printf("############### 猜数游戏 ################...

2019-11-15 16:04:18 221

原创 初学c语言【5】打印空心三角形,n的阶乘,n阶乘的和,以及优化n阶乘的和。

#include<stdio.h>#include<stdlib.h>int main(){ system("color 73");//改个颜色 int b=0; int c = 1; int a = 0; printf("请输入n的阶乘:\n"); scanf("%d" ,&a); do { b++; c *= b; } while ...

2019-11-11 16:21:26 328

原创 差分习题

```c#include<stdio.h>#include<stdlib.h>int main(){ int n; printf("please input n:"); scanf("%d", &n); int arr[100000]; for (int j = 0; j <= n - 1; j++) arr[j] = 0; int...

2019-11-05 14:12:22 446

原创 初学c语言【4】判断一个数是否是水仙花数,自幂数的定义及其种类名称。

#include<stdio.h>#include<math.h>#include<stdlib.h>int main(){ system("color 73"); int i,a, b, c,n; while (1) { printf("请输入一个三位数\n"); scanf("%d", &i); if (100 <=...

2019-11-05 13:37:16 1121

原创 初学c语言【3】欧几里得算法求最小公倍数和最大公约数

#include<stdio.h>int main(){ int a,b,y; int c=0; printf("请输入两个数"); scanf("%d%d",&a,&b); y=a*b; if(a>b) { ; } else { a=a+b; b=a...

2019-11-04 23:44:51 1352

原创 初学c语言【2】用和不用中间参量进行两个数交换

int main(){ int a,b,c; c=0; printf("请输入两个数字"); scanf("%d %d",&a,&b); c=b; b=a; a=c; printf("%d %d",a,b); return 0; }//存在中间变量进行两个数交换

2019-11-03 10:29:48 252

原创 初学c语言【1】(九九乘法口诀表【for,while】)

#include<stdio.h>#include<stdlib.h>#include<windows.h>int main(){system(“color 73”);int a, b, c, d;d = 0;a = 0;while (a < 9){b = 1;a = a + 1;while (b <= a){print...

2019-10-29 18:59:35 669

原创 why study programming.reason:I love?

1.我叫竹洋,我来自陕西渭南,我今年十八岁,我大学是西安邮电大学,计算机院大数据专业,我的爱好有好多,我对各种新奇事物都很感兴趣,尤其喜欢计算机编程,所以我选择了这个专业,也对应了我的博客名字,Grey_Pigeon灰鸽子,黑客帝国,让我想起赵本山的小品中的一句话“帅呆了,酷毙了!”。2.对于编程,我现在就是一个初学者(就是一个弟弟),编程我准备从c语言喀什学习,我的专业第一学期并能没有开设c...

2019-10-28 15:15:01 391 2

空空如也

空空如也

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

TA关注的人

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