我的创作纪念日 ---- 2024/3/26

前言

2024.3.26是我在CSDN成为创作者的第128天,也是我第一次真正在网上创作的第128天

当我还在日常创作时,突然发现我收到了一封信

我想我可以分享一下这段时间的感想以及收获 

机缘

在CSDN的这段时间里,我学习到了很多知识,也丰富了我的日常生活

在我编写实战项目的时候,有很多操作我还是不是很了解的,尤其是在学校的实战项目,当我遇到不会的代码时可以利用CSDN来学习我的知识盲区,实战项目结束后我认为将项目写到博客里是很有意义的

我认为当我意识到了写博客的时候我的一个机缘就来了

一是可以帮助别人了解相关方面的思路知识等

二是可以巩固自身的基础

做这件事情不仅仅对自身受益匪浅,对他人亦是莫大帮助

只有当自己需要帮助去观看别人的博客的时候,才能感受到一篇好的博客是有多么重要!!!


收获

目前在这段时间里只创作了22篇博客,跟我想的进度差不多

我给自己的任务是一星期一篇博客, 希望能够对各位有所收获

我的收获即是对知识的巩固,当然如若能帮助到别人那更是我莫大的收获


日常

创作目前已经是我学习、生活中的一部分了

当我学习一个知识点一段时间之后总会忘记一部分,但这时候写博客不仅能帮助回忆,还能帮助其他人,与其他人一起进步学习

不管再忙,或许在夜间听听歌,敲敲键盘,不知不觉的一篇博客就完成了,这种沉浸其中的感觉也是非常不错的,虽然会感觉时间过的很快,但不会觉得这一天白费了


成就

目前大一下学期,学习进度只到了C++,进度不是很快,但我觉得我写的最好的代码就是数据结构的实现了

下面是快速排序的各种实现方法,其中涉及了递归、非递归(栈、队列)

#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>// 快速排序递归实现
// 快速排序hoare版本
int PartSort1(int* a, int left, int right);// 快速排序挖坑法
int PartSort2(int* a, int left, int right);// 快速排序前后指针法
int PartSort3(int* a, int left, int right);//快速排序
void QuickSort(int* a, int left, int right);// 快速排序 非递归实现 栈
void QuickSortNonR1(int* a, int left, int right);// 快速排序 非递归实现 队列
void QuickSortNonR2(int* a, int left, int right);//三数取中法,让key值再中间提升快排效率
int GetMidIndex(int* a, int begin, int end)
{int mid = (begin + end) / 2;if (a[begin] > a[mid]){if (a[mid] > a[end]){return mid;}else if (a[begin] < a[end]){return begin;}else{return end;}}else //a[begin] < a[mid]{if (a[begin] > a[end]){return begin;}else if (a[end] > a[mid]){return mid;}else{return end;}}
}int PartSort1(int* a, int left, int right)
{int mid = GetMidIndex(a, left, right);Swap(&a[mid], &a[left]);int keyi = left;while (left < right){//要先找小,因为keyi在左,右边先出发相遇位置一定是小//找小while (left < right && a[right] >= a[keyi])right--;//找大//等号一定要加,因为begin是从keyi开始的while (left < right && a[left] <= a[keyi])left++;if (left < right)Swap(&a[left], &a[right]);}Swap(&a[keyi], &a[left]);return left;
}int PartSort2(int* a, int left, int right)
{int mid = GetMidIndex(a, left, right);Swap(&a[mid], &a[left]);int hole = left;//key记录挖坑位置的值int key = a[hole];while (left < right){while (left < right && a[right] >= key)right--;a[hole] = a[right];hole = right;while (left < right && a[left] <= key)left++;a[hole] = a[left];hole = left;}a[hole] = key;return hole;
}int PartSort3(int* a, int left, int right)
{int mid = GetMidIndex(a, left, right);Swap(&a[mid], &a[left]);int key = left;int prev = left, cur = left + 1;while (cur <= right && prev != cur){if (a[cur] <= a[key]){prev++;Swap(&a[cur], &a[prev]);}cur++;}Swap(&a[left], &a[prev]);return prev;
}void QuickSort(int* a, int left, int right)
{if (left >= right)return;//先排好keyi这个固定位置,再向两边排int keyi = PartSort3(a, left, right);QuickSort(a, left, keyi - 1);QuickSort(a, keyi + 1, right);
}//栈版本,深度优先
void QuickSortNonR1(int* a, int left, int right)
{Stack s;StackInit(&s);//必须先入栈入右区间再入左区间,因为栈是先进后出StackPush(&s, right);StackPush(&s, left);while (!StackEmpty(&s)){left = StackTop(&s);StackPop(&s);right = StackTop(&s);StackPop(&s);int keyi = PartSort1(a, left, right);if (left < keyi){StackPush(&s, keyi - 1);StackPush(&s, left);}if (right > keyi){StackPush(&s, right);StackPush(&s, keyi + 1);}}
}//队列版本,广度优先
void QuickSortNonR2(int* a, int left, int right)
{Queue q;QueueInit(&q);QueuePush(&q, left);QueuePush(&q, right);while (!QueueEmpty(&q)){left = QueueFront(&q);QueuePop(&q);right = QueueFront(&q);QueuePop(&q);int keyi = PartSort1(a, left, right);if (left < keyi){QueuePush(&q, left);QueuePush(&q, keyi - 1);}if (right > keyi){QueuePush(&q, keyi + 1);QueuePush(&q, right);}}
}

这种使用了各种方法学以致用的感觉写出来的代码能够跑出来的时候

感觉是非常好的,就像做出来一道算法题一样,有过之而无不及 


憧憬

目前对于未来的方向就是C++软件开发,所以我会往这个方向不断出发,学习后续知识的同时发布博客(c/c++、数据结构、Linux、MySQL等)

大一大二参加比赛,储备知识,大三找实习,大四收获offer

朝着那个遥不可及的offer一步步前进

做个自己都觉得自己自律的自己!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/287750.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务运营 | 印第安纳大学翟成成:改变生活的水井选址

编者按&#xff1a; 作者于2023年4月在“Production and Operations Management”上发表的“Improving drinking water access and equity in rural Sub-Saharan Africa”探讨了欠发达地区水资源供应中的可达性和公平性问题。作者于2020年1月去往非洲埃塞俄比亚提格雷地区进行…

蓝桥杯 2022 省B 砍竹子

思路&#xff1a; 非常明显&#xff0c;这题是个贪心。因为这题是求最小操作次数&#xff0c;而且每次操作都会变小&#xff0c;所以肯定要优先操作大的元素&#xff0c;这样它变小之后才可能和其它元素一起操作以减少操作次数。 所以&#xff1a;建立两个数组&#xff0c;一…

js选择语句

文章目录 1. if 分支语句1.1. 示例代码1.2. 运行结果 2. if 双分支语句3. if 多分支语句4. switch 语句&#xff08;了解&#xff09;4.1. 注意4.2. case 穿透现象4.3. case 穿透产生的原因 5. switch 语句与选择语句区别别5.1. 语法上的区别5.2. 应用场景上的区别 6. 三元表达…

本地GPU调用失败问题解决2修改pytorch版本(失败)

一、基于现有anaconda中的环境复制新环境 1、管理员打开anaconda 进入当前环境&#xff1a; 输入 conda env list conda activate env_pytorch1121 2、复制当前环境为新环境 conda create --name env_pytorch2.2.0cu --clone env_pytorch1121 2&#xff09;删除其中的p…

库存控制秘诀:鞋服品牌如何避免库存积压风险

库存积压对于鞋服品牌而言&#xff0c;是一个普遍而又棘手的问题。过多的库存不仅占用了大量的资金&#xff0c;还可能导致产品过时、贬值&#xff0c;甚至影响品牌的长期发展。因此&#xff0c;如何有效地控制库存&#xff0c;避免积压风险&#xff0c;成为了鞋服品牌必须面对…

window下迁移SVN仓库到新的windows服务器

一、背景 一个基于 Windows 的 SVN 服务器&#xff0c;用于管理团队的代码库。该 SVN 仓库托管着公司的软件项目&#xff0c;包括多个分支和版本的代码。我们的团队规模约为 50 人&#xff0c;分布在不同的地理位置&#xff0c;他们都依赖 SVN 仓库来进行代码版本控制和协作开…

深度学习十大算法之图神经网络(GNN)

一、图神经网络的基础 图的基本概念 图是数学中的一个基本概念&#xff0c;用于表示事物间复杂的关系。在图论中&#xff0c;图通常被定义为一组节点&#xff08;或称为顶点&#xff09;以及连接这些节点的边。每个边可以有方向&#xff0c;称为有向边&#xff0c;或者没有方向…

C++剑指offer与高频面试题源码解答与分析

这是博主在当初秋招刷题时候记录的剑指offer第二版以及一些高频题的C源码和解法分析&#xff0c;可以说把这上面的题练好了面试不虚&#xff0c;最后也顺利帮助我拿下baidu ali meituan等多家大厂offer。整篇文章写了大概5W个字&#xff0c;也是积累了很长一段时间的作品&#…

函数进阶-Python

师从黑马程序员 函数中多个返回值的接收 def test_return():return 1,"hello",3x,y,ztest_return() print(x) print(y) print(z) 多种参数的使用 函数参数种类 位置参数 关键字参数 def user_info(name,age,gender):print(f"姓名是{name},年龄是:{age},性别是…

小学生古诗文大会往届真题测一测和独家详细解析(题目来自官方)

新学期开学一眨眼已经过了一个多月了&#xff0c;有家长朋友开始关心2024年上海市小学生古诗文大会什么时候开始&#xff1f;如何准备小学生古诗文大会&#xff1f;如何激发孩子学习古诗词的兴趣&#xff1f;如何提高小学古诗词和古诗文大会的学习成绩&#xff1f;... 最近&…

增强现实(AR)在广告中的力量

The Power of AR in Advertising 写在前面 增强现实&#xff08;AR -Augmented Reality&#xff09;是指借助软件、应用程序和智能手机、平板电脑或耳机等设备&#xff0c;为日常生活添加视觉和音频元素的技术。如今&#xff0c;品牌和广告商可以在营销活动中使用AR&#xff0…

解决mysql问题: this is incompatible with sql_mode=only_full_group_by

今天在部署一趟测试环境的服务&#xff0c;各种配置文件都配好了&#xff0c;启动服务后台报错&#xff0c;解决后记录一下&#xff0c;小伙伴们也可以看看&#xff01; ### Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause…

python爬虫-----输入输出与流程控制语句(第四天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

Ubuntu Desktop - Updates (不升级到新版本)

Ubuntu Desktop - Updates [不升级到新版本] 1. UpdatesReferences 1. Updates System Settings -> Software & Updates -> Updates ubuntu-16.04.3-desktop-amd64.iso 不升级到新版本 ​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

【linux深入剖析】基础IO操作 | 使用Linux库函数实现读写操作 | 文件相关系统调用接口

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1.复习C文件IO相关操…

UE4_旋转节点总结一

一、Roll、Pitch、Yaw Roll 围绕X轴旋转 飞机的翻滚角 Pitch 围绕Y轴旋转 飞机的俯仰角 Yaw 围绕Z轴旋转 飞机的航向角 二、Get Forward Vector理解 测试&#xff1a; 运行&#xff1a; 三、Get Actor Rotation理解 运行效果&#xff1a; 拆分旋转体测试一&a…

linux将未分配空间分配到指定挂载点

lsblk命令查看硬盘&#xff0c;空间有200G&#xff0c;子分区加起来才100个G&#xff0c;有100个G未使用 lsblk给硬盘分配盘符 fidisk /dev/vda n 回车 回车 w将所有未分配的空间分区&#xff0c;这里有100个GB 查看分配的分区 /dev/vda4 fidisk -lpvcreate /dev/vda4查看…

华为OD机试真题-推荐多样性-2024年OD统一考试(C卷)

题目描述: 推荐多样性需要从多个列表中选择元素,一次性要返回N屏数据(窗口数量),每屏展示K个元素(窗口大小),选择策略: 1. 各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推 2. 每个列表的元素尽量均…

双亲委派机制总结

回顾了一下双亲委派机制&#xff0c;在这记录记录&#xff0c;下一篇会基于打破双亲委派机制来更新 1. 类加载&#xff1a; 多个java文件经过编译打包后生成可运行jar包&#xff0c;最后启动程序。首先需要通过类加载器把主类加载到JVM。主类在运行过程中如果使用到其他类&a…

2016年认证杯SPSSPRO杯数学建模D题(第一阶段)NBA是否有必要设立四分线解题全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 D题 NBA是否有必要设立四分线 原题再现 NBA 联盟从 1946 年成立到今天&#xff0c;一路上经历过无数次规则上的变迁。有顺应民意、皆大欢喜的&#xff0c;比如 1973 年在技术统计中增加了抢断和盖帽数据&#xff1b;有应运而生、力挽狂澜的&am…