目录
一、机缘:旅程的开始
最开始开始写博客是在今年一二月份的时候,也就是寒假左右的时间,那时候写了第一篇博客
那时候还在大一上半个学期,还不知道好好学习,一个学期连一个简单的C语言都没有学完,这篇博客应该是在我写一个作业的时候,刷到了这个题,当时觉得挺有意思,再加上其实一直也有写博客的想法,于是就有了这篇博客的诞生,由此,我的博客之旅也算是正式启程了
二、收获:沿路的花朵
截至目前为止,我已经创作出一定数量的博客
并且也收获了不少的粉丝和阅读量
同时还有不少的评论数和点赞收藏数
同时因为各位大佬的捧场,也让我多次入选各种榜单
也很荣幸的拿下了本地的周榜第一
感谢各位大佬的支持,正是你们的支持,才让我有了持续创作下去的动力,目前我已经一定程度上权衡好了自己的时间,以后会以每周两更的速度与大家见面,不辜负各位的支持,同时不断提高自己的实力
三、日常:不断前行中
如果说最一开始,我写文章是为了好玩,是为了流量,那么我现在确实是改变了不少,现在的我去写这些文章更多的是为了提升自己,同时给读者带来一些知识,在学习探讨中一起成长,我也在不断尝试将博客真正的融入自己的生活中去,不止是为了简简单单的流量而去做,更多地去为了提升自我而努力。
目前我是保持着一周两更这个不快不慢的速度,我并不追求数量,但我会对每一篇的质量做出保证,我会的我一定会将我的理解尽量讲清楚,现在的我还没有能力去说太多的大话,但我一定会朝着我的目标稳步前行。
我始终坚信:路虽远,行则将至!!!
四、成就:一点小确幸
这段时间走来,除了收获了上面所说的粉丝及其他各项数据以外,我还在代码能力上提升了不少
之前写快排的时候有一段代码让我印象深刻,其中有一个小错误让我找好久都没找到
//快速排序
void PrintArray(int* a, int n)
{
for (int i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
void Swap(int* e1, int* e2)
{
int tmp = *e1;
*e1 = *e2;
*e2 = tmp;
}
int GetMid(int* a, int left, int right)
{
int mid = (left + right) / 2;
if (a[left] > a[mid])
{
if (a[right] > a[left])
return left;
else if (a[right] < a[mid])
return mid;
else
return right;
}
else
{
if (a[right] < a[left])
return left;
else if (a[right] > a[mid])
return mid;
else
return right;
}
}
//1、hero 霍尔排序
//[left,right]
int PartSort(int* a, int left, int right)
{
int mid = GetMid(a, left, right);
Swap(&a[mid], &a[left]);
int keyi = left;
while (left < right)
{
while (left < right && a[left] <= a[keyi])
{
left++;
}
while (left < right && a[right] >= a[keyi])
{
right--;
}
Swap(&a[left], &a[right]);
}
Swap(&a[left], &a[keyi]);
return left;
}
//2、挖坑法
int PartSort2(int* a,int left,int right)
{
int mid = GetMid(a, left, right);
Swap(&a[mid], &a[left]);
int key = a[left];
int hole = left;
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 left;
}
//3、前后指针法
int PartSort3(int* a, int left, int right)
{
int mid = GetMid(a, left, right);
Swap(&a[mid], &a[left]);
int prev = left;
int cur = prev + 1;
int keyi = left;
while (cur <= right)
{
if (a[cur] < a[keyi])
{
prev++;
Swap(&a[prev], &a[cur]);
}
cur++;
}
Swap(&a[prev], &a[keyi]);
return prev;
}
//递归的快速排序
void QuickSort(int* a, int begin,int end)
{
if (begin >= end)
{
return;
}
int keyi = PartSort3(a, begin, end);
QuickSort(a, begin, keyi - 1);
QuickSort(a, keyi + 1, end);
}
这几篇博客算是我目前为止写的最成功的几篇,并不是因为这几篇访问量多高,质量有多好,而是因为我一直在尝试将相似的知识写成类似这样的集合,来将知识系统化、合理化,现在我也一直在延续这种做法,未来的这段时间里我大概率会一直更新C++相关的内容,并把它设为专栏,供自己复习的同时也为更多的初学者解答疑惑。在这里要吐槽一个东西,那就是有些付费学习的教育之类的,我一直认为知识应该是平民化的,它不应该是昂贵的,应该让每一个人都没有什么负担就能获取,所以不管到啥时候,我所写的东西也一定都会是免费的
五、憧憬:梦中的重点
时间好快,一年就要过去了,很快这一届高三就要高考了,我的十八岁也要走完了,这一年来,有太多的迷茫,有太多的松懈懒惰,同样,也有许多经历让我成长不少,是时候为自己拼一把了。
插眼(下次纪念日时的目标):
CSDN:1、粉丝突破一万
2、浏览量突破二十五
感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!