0%

自从在大学入坑了ICPC这类算法比赛,就沉迷其中,在集训队的时候花上一整天做各种各样的比赛,写各种各样的题目,日常的话,也会在深夜打开codeforces,参加一场场的掉分赛/(ㄒoㄒ)/~~

刚开始写比赛的时候,用的IDE是Dev C++,这款IDE上手简单,对新手比较友好,但是调试能力较弱;之后改用CodeBlocks,相对而言功能更加丰富,可自定义的地方也比较多,但麻烦之处在于需要建工程,以及对我来说,调试相当不友好,UI也比较丑;也见过有人使用Visual Studio,不过庞大的体量让我瞬间失去了用它做题的想法。

除了IDE本身的缺陷,还有一个比较难以忍受的共性问题是,竞赛的输入输出是分开的,区分十分清晰,但选手在编写程序的时候,需要在终端里同时完成输入输出,难免会产生混乱,如果在代码中使用了重定向,又需要分心去管理重定向的事情,就有点舍本逐末了。

综上,理想中算法竞赛刷题工具应有以下几个便利点:

  1. 允许单文件编译运行,使得做一道题目不需要大费周章的建立工程,只需要一个单文件。
  2. 界面美观,友好,调试方便。
  3. 直接重定向到文件。
  4. 可以快速编写竞赛代码

一番摸索之后,我选择的工具是vscode,主要是基于一下几点考虑:

  1. 界面美观。
  2. 编辑器可自由拖拽,观看方便。
  3. 拥有大量插件,功能高度自定义。

于是,踏上了配置之旅。

阅读全文 »

VS code 是个功能强大,可扩展性极强的编辑器,通过添加一些插件,修改一下配置即可发挥强大的功能。

前些日子(其实好久了哈 ( ̄ y▽  ̄)~*),通过阅读官网的文档,成功 配置了C++的编程环境,然后用了很久。但是最近遇见了个很严重的问题,那就是按照官网的文档走的话,最终只能编译,调试,运行一个单独的文件。

这就很难受了,虽说刷刷算法题也不需要多个文件,使用 g++的一些较为复杂的参数也可以编译链接多个文件,但是,到底能不能使用 VS code 来编写具有一定规模的 C/C++工程呢?

于是,折腾开始了,而且最终取得了很不错的成果。(≖‿≖)✧

阅读全文 »

从大一学 C 语言开始就一直听说有个叫做十大排序算法的东西,要涉及一些有趣的思想和数据结构什么的,听起来很厉害的样子,觉得好难就没去看过,只是调用 qsort 和 sort 之类的函数。

最近学一些东西的时候恰巧和十大排序打了交道,理解起来并不难,拖延了好久才去看真的挺遗憾的。然后学完后打算把十大排序总结记录下来。

阅读全文 »

堆栈是一种先进后出的数据结构,我和别人说起来的时候,经常拿井做比较,最先放到井里的东西要最后才能拿出来。具体实现起来有着至少两种方式,链表实现数组实现,实现思路都很简单,代码也都很简短。

阅读全文 »

数据结构是一个早就有所耳闻的东西,但是一直没有潜下心学习过,对数据结构的了解也仅限于 C++里的 STL,趁寒假有空闲,去听了浙江大学陈越老师的数据结构课程。当然,计算机领域的各种知识,只有亲自尝试了才能算是真的学得懂,因此,打算开个专题,将各个类型的数据结构都亲自实现一遍,并记录下来。

阅读全文 »

第二章的内容相对第一章来说常规了一些,或者更应该说第一章的内容很是惊艳,毕竟位运算接触的少。而第二章分析算法的复杂度,排序算法的实现,二分查找这些就中规中矩了许多,在意的并不多。但是在例题里有几道感觉特别有意思的题目,思路比较巧,因此决定记下来。

阅读全文 »

一段程序

故事发生在某天深夜,已经熄灯的宿舍,黯淡的屏幕闪烁出一条消息

“睡了没”

“木呢。”

“来看段代码”

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i= 17970;
char *q = &i;
printf("%d\n", *q);
printf("%d\n", *(q + 1));
return 0;
}

“……,这啥操作?”

“输出是 50 70。”

阅读全文 »

第一次接触visual studio code是在大一上学期,正是初学C语言的时候。那时候老师与学长推荐的集成开发环境(IDE)主要是Dev C++与code block,这两款IDE的优点是简单,小巧,可以很快速的使代码运行起来,但他们都有很致命的缺点,就是界面不够美观,虽然在网上都能找到一些教程对其进行美化,但能做到的也只是不再难看而已,与真正做到好看相比还差的很远。

恰巧那段时间因为学习前端的知识而了解到VS code这款编辑器,同样是写代码,利用VS code写HTML,CSS,JavaScript比用code block写C体验好多了,而也惊喜的发现,VS code支持书写C/C++程序\(≧▽≦)/,于是就想使用VS code编写C程序,但当时不明白VS code只是一个编辑器且不带编译器,并不能直接编译,运行C程序,而且在查看一些C文件时会出现乱码现象一脸懵逼(o゜▽゜)o☆(当时并不知道时编码的问题),于是在查找了众多资料无果后只好放弃〒▽〒。

时过境迁,一年的学习,学习的语言由简单的C拓展到C++,JAVA,C#等多种语言,编程的模式由简单的面向过程到C++式的多种模式混合,C#窗口的事件-响应函数,unity的逐帧调用等多种模式,知识储备量有了一定的提升(●ˇ∀ˇ●),再回过头来,依旧还是想用VS code编写C/C++程序,于是在某一天,一句一句看懂了官网的文档,一步一步调试,终于在最后调试成功(´▽`ʃ♡ƪ)!经过了一段时间的使用,体验还算不错,在这里记下环境配置的方法,也记录下自己的小小激动。

阅读全文 »

今天是2018年11月1日,据我开始打算搭建一个私人博客起,刚刚好一个月,找了各种各样的博客,各种各样的教程,向认识的同学请教,在GitHub上提问,在文档之间徘徊。一个月,缝缝补补,终于是把基本的博客搭了起来,以后的话,就可以在这里,巨大的互联网的一角里存放属于自己的一点一滴。

阅读全文 »