学习过程练习
Rany010
这个作者很懒,什么都没留下…
展开
-
mine导航页
博客分类导航页原创 2022-09-17 15:10:01 · 324 阅读 · 0 评论 -
总结最近学习成果13-hello world
hello world -> olleh dlrowchar* ReverseSWord(char* t){//给头地址返回尾地址-1 找到空格说明一个单词结束 找到\0说明到末尾 还需要注意的是 这里返回的是地址值 因此返回值类型应该是char* while (*t != ' '&& *t != '\0'){ t++; ...原创 2019-04-05 21:52:55 · 216 阅读 · 0 评论 -
总结最近学习成果14-输入一字符串,输出转化为小写的字符串,不是字母的丢弃
输入一字符串,输出转化为小写的字符串,不是字母的丢弃void Atoa(char* s){ while (*s){ if (*s >= 'a' && *s <= 'z'){ printf("%c",*s); }else if (*s >= 'A' &&...原创 2019-04-05 22:00:48 · 252 阅读 · 0 评论 -
对象的复制和赋值有什么区别?各自的应用场景是怎么样的?
部分引用:https://blog.csdn.net/liitdar/article/details/81874541对象赋值如同基本类型的赋值语句一样,同一个类的对象之间也是可以进行赋值操作的,即将一个对象的值赋给另一个对象。对于类对象的赋值,只会对类中的数据成员进行赋值,而不对成员函数赋值。给对象赋值和调用拷贝构造函数初始化另一个对象行为是类似的,但是有所区别,下面会讲到(实际上调用的...原创 2019-04-15 17:01:31 · 2920 阅读 · 2 评论 -
浅谈C++虚函数、纯虚函数、虚继承
关键字:virtual虚函数C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。子类可以重写父类的虚函数实现子类的特殊化。纯虚函数C++中包含纯虚函数的类,被称为是“抽象类”。不允许实例化,就是不允许定义对象(不能Father f)),也不能作为函数参数,*只能怪通过指针(Father f)子类必须实现父类的纯虚函数,否则自己也是抽象类,子类必须...原创 2019-04-15 17:42:23 · 293 阅读 · 0 评论 -
什么情况下析构函数必须定义为虚函数
子类继承了父类,并创建了对象 father *f = new child();class father{public: father(){ cout << "father 构造函数" << endl; } virtual~father(){ cout << "father 析...原创 2019-04-15 21:05:46 · 450 阅读 · 0 评论 -
浅谈C/C++中的static关键字
缘由:因为最近在刷笔试题的过程中,很高频率都出现了关于static关键字的考察,因此在查阅资料加上自己理解的情况下,特整理如下:参考了大佬的整理,在此感谢!https://www.cnblogs.com/qintangtao/p/3285937.html首先,在c的面向过程和c++的面向对象两种思路下,就形成了静态的变量或函数和静态的对象以及类其次要知道的一点是:对于一个完整的程序,在内存中...原创 2019-04-25 20:55:08 · 116 阅读 · 0 评论 -
总结最近学习成果15-原地删除空格
将字符串中的空格原地删除(就是删除空格),但不能申请新的buffer,同时要保证O(n)级的时间复杂度。void DeleteSpace(char* s){ int i = 0; int j = 0; while (s[j]){ if (s[j] != ' '){ s[i++] = s[j]; ...原创 2019-04-15 13:34:08 · 279 阅读 · 0 评论 -
总结最近学习成果16-字符空格替换
将字符串中的每个空格都替换成Mr.Yang,但不能申请新的buffer,同时要保证O(n)级的时间复杂度。(原题是替换成20%)//思路:将字符串从后开始 把每个字符移动到totalLen--(包含了新添加字符的空间) 因此需要先算出字符串长度len 以及空格个数 然后算出totalLen void ChangeSpace(char* s){ int len = 0;...原创 2019-04-15 13:40:29 · 207 阅读 · 0 评论 -
总结最近学习成果17-统计字符串的各个字母有几个,并按字母表顺序输出
统计字符串的各个字母有几个,并按字母表顺序输出 ddkafadf —> a2d3f2k1//套用桶排序的思想,遍历桶,只有桶里面的数字不是0 说明出现过这个字母,然后从前往后输出就行void FindSum(char* s){ char* t = s; int buck[128] = { 0 }; while (*s){ bu...原创 2019-04-15 13:41:09 · 974 阅读 · 0 评论 -
今日学习总结--模式匹配算法
模式匹配算法所谓模式匹配就是在一个主串s中找到子串t的位置,对于复杂的字符串,那么使用怎样的方式去查找就显得尤其重要了。1、朴素的模式匹配算法为什么称为朴素呢?因为简单易理解,大家都可以想到,实现起来也相对简单,主要完全可以实现功能。思路:主串s和子串t都从第一位开始比较,如果相等则比较第二位…如果其中某一位不相等了,则将s回退到i-j+1位置(每次比较一旦遇到不相同,就从开始位置后移一位...原创 2019-04-26 21:41:04 · 754 阅读 · 0 评论 -
关于C++ this指针你需要知道的
背景上课讲到类的时候就简单提了一下,但是慢慢后面学习构造、析构、拷贝构造,再到后面重写String类的函数的时候,明显感觉自己对this指针理解的是在太过浅薄,因此回来补一下。(书本上)this关键字:用于区别局部变量和成员变量只能在类成员函数中使用,指向调用该成员函数的对象解释在类中,用户自定义了一个class A,其中有成员变量和成员函数,当我们在主函数创建这个类的对象的时候就相当...原创 2019-04-15 15:24:28 · 156 阅读 · 0 评论 -
关于C++拷贝构造函数我想说
如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。默认的拷贝构造函数是浅拷贝,会造成内存泄漏。解释本质上就是构造函数(特殊),用一个已有的对象整体初始化新的对象如student s1(01,"zz",18);//比如你创建了一个学生对象s1 学号是01 名字是zz 年龄是18 //这时候你调用构造函数 完成了对象s1的初始化student s2;s2 = s1;//...原创 2019-04-15 15:52:16 · 157 阅读 · 0 评论 -
操作系统(进程 线程 死锁 生产者消费者 读者写者 虚拟内存 页面调度 )
并发:并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。操作系统通过引入进程和线程,使得程序能够并发运行。共享系统中的资源能够被多个进程共同使用。两种方式:互斥共享、同时共享互斥共享的资源被称为临界资源,在同一时间内只允许一个进程访问。虚拟把物理实体转换为逻辑实体。两种技术:时...原创 2019-08-30 10:25:09 · 402 阅读 · 0 评论 -
总结最近学习成果12-数组打乱顺序
有序数组打乱顺序//种随机数种子,每次随机位置和i位置交换void print(int* arr){ srand(time(0)); int t; for (int i = 0; i < 10; i++){ int s = rand() % 10; t = arr[i]; arr[...原创 2019-04-05 21:50:44 · 178 阅读 · 0 评论 -
总结最近学习成果11-求1000以内的素数
求1000以内的素数/* 一千个数一个一个判断 如果一个数比他小的所有数都无法整除它 那么它就是素数 */ for (int i = 2; i <= 1000; i++){ int flag = 1; for (int j = 2; j < i; j++){ ...原创 2019-04-05 21:49:03 · 167 阅读 · 0 评论 -
学生管理系统(IO)
学到了IO所以想写一个可以通过操作,更改文件信息的学习管理系统package com.java;//学生信息管理类public class Student { //定义要使用到的变量 private String id; private String name; private String age; private String address; //定义方法 publi...原创 2018-12-09 12:23:51 · 346 阅读 · 0 评论 -
java IO 实现登录系统
因为前两天写IO的学生管理系统,导致我想模仿着写一个登录系统。因为暂时没有学到页面部分,所以想象着登录页面开始写。该页面包括:用户注册、登录;管理员登录(管理员账号密码已固定)然后就是管理员能够进行的增删查改操作package com.java1;//定义用户信息类public class LoginUser { private String username; private St...原创 2018-12-09 12:35:02 · 434 阅读 · 0 评论 -
Date类练习
通过更改毫秒数,得到任意时间的练习package com.java1;import java.util.Date;//Date类 public class MyDate { public static void main(String[] args) { //获取十天前的日期 Date d=new Date(); //d.setTime(777600000); ...原创 2018-12-09 14:03:30 · 293 阅读 · 0 评论 -
以TCP/UDP协议为基础编写的登录系统
以TCP/UDP协议为基础编写的登录系统最近自学到网络编程部分,因此结合之前的数据流以及曾经写过的登录系统进行改进package com.java;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader...原创 2019-01-12 12:53:03 · 328 阅读 · 0 评论 -
总结最近学习的成果01-图形(数字)打印
输入一个n,打印n行n列。比如:输入一个4,打印如下:1 2 3 45 6 7 89 10 11 1213 14 15 16/* 思路分析:打印矩阵,按行方式打印 然后一个一个打印出来 因此需要两个for 一个控制行数 一个控制打印内容 因为是逐渐增加的,因此需要定义一个变量去存储值 */ ...原创 2019-04-04 20:57:44 · 281 阅读 · 0 评论 -
总结最近学习成果02-求一个数有几个二进制的1
输出一个数的二进制有几个1 思路分析:通过while循环 实现输入的数n和他的n-1按位与 从而实现将二进制数的1逐渐消去的过程 每消去一个1 计数器c+1 */ printf("输入一个数"); int n; scanf("%d", &n); int c ...原创 2019-04-04 21:00:03 · 170 阅读 · 0 评论 -
总结最近学习成果03-输入一个数,将其前后颠倒
输入一个数,将他前后颠倒并输出//是直接改变这个数,然后输出 并不是倒叙输出/*思路分析:定义计数器c 默认为0 c的值由上一个c*10加上n取余10 拿到的值 然后将n/10 取整 使得数字往前移 */ printf("输入一个数"); int n; scanf("%d", &n);...原创 2019-04-04 21:01:59 · 308 阅读 · 0 评论 -
总结最近学习成果04-斐波那契数列
斐波那契数列打印 1,2,3,5,8,13…求第N个的数值void Fibonacci(int n){ int f1 = 0; int f2 = 1; for (int i = 0; i <= n-1; i++){ f2 = f2 + f1; f1 = f2 - f1; } pri...原创 2019-04-04 21:06:29 · 231 阅读 · 0 评论 -
总结最近学习成果05-顺时针打印一个递增的圆
输入N,打印一个递增的圈,例如:输入4,打印结果如下:1 2 3 412 511 610 9 8 7//只能逐行打印,先打印第一行,然后是中间部分(当做一个整体来做),最后打印最后一行即可void PrintCircle(int n){ printf("输入n\n"); scanf("%d", &n); ...原创 2019-04-04 21:11:35 · 140 阅读 · 0 评论 -
总结最近学习成果06-股神问题
.股神:假设买入1元股票,股票的变化规律是第一天不变(0),第二天涨1元(1),第三天跌1元(-1),第四天涨1元(1),第五天涨1元(1),第六天跌1元(-1),第七天涨1元(1),第八天涨1元(1),第九天涨1元(1),第十天跌1元(-1)…求N天后的股票剩余价格/* 思路:通过总天数减去跌的天数乘2 就是最后的价格(减2的原因:因为开始算的时候直接加上去了,要拿掉就是两份)...原创 2019-04-04 21:13:17 · 572 阅读 · 0 评论 -
总结最近学习成果07-亮灯问题
.亮着电灯的盏数,电灯1 <= n <= 65535 全关着n个学生,第一个学生1的倍数的灯拉一下,第二个学生2的倍数的灯拉一下… 最终亮灯情况/* 思路:n个学生n个灯 通过不同的学生点亮再熄灭重复 最后剩下来点亮的灯 就是那些有平方生成的数 因为第9位置的灯能够被1 3 9 灯亮 熄灭 点亮 3*3 最后只有一个 形成了奇数个约数 所以统计有...原创 2019-04-04 21:15:24 · 279 阅读 · 0 评论 -
总结最近学习成果08-指针初学
变量三要素:变量名、空间大小、地址指针:用于存放变量的地址的变量不论变量定义时候是什么类型(int char…)在32位的系统中,其空间大小都是4个字节4**. 指针p中存放的是谁的地址,那么*p 就是谁**5.一般指针的题通过画图的方式能够相对简单的解决6.二级指针:指针的指针 这是一个指针的习题,看着很简单,但是要理清楚其中的关系还是需要画图的。求:最后输出的结果是多少...原创 2019-04-04 21:20:36 · 157 阅读 · 0 评论 -
总结最近学习成果09-日期的计算题
1)根据距离2000-1-1的天数,算出日期2)计算自己活了多少天3)题目:输入某年某月某日,判断这一天是这一年的第几天?吐槽:题目不难,但是真的很烦人/*思路:首先抽象出两个函数 判断某年是不是闰年,通过得到年月日计算这是本年的第几天第一问:起始年是2000年 首先看拿到的日期days是不是大于366 年份加一 然后日期数days-366 通过判断是不是闰年的函数控制减量s是36...原创 2019-04-04 21:22:52 · 216 阅读 · 0 评论 -
总结最近学习成果10-调整数组顺序
调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分while (i < j){ while (arr[i] % 2 == 1 && i < j){ i++; } while (arr[j] % 2 == 0 && i < j){ j...原创 2019-04-04 21:45:09 · 84 阅读 · 0 评论 -
学生管理系统(无IO)
这是我看java学习视频期间,完成的练习。package com.java1;//学生信息管理类public class StudentMansgeDemo { //定义要使用到的变量 private String id; private String name; private String age; private String adress; //定义方法 publi...原创 2018-12-09 12:20:35 · 210 阅读 · 0 评论