一些以我老年痴呆早期所记不住的东西(本人蒟蒻,大牛勿喷)

时间:2022-12-27 18:41:19

一,gdb的使用

set path=C:\MinGWStudio\MinGW\bin 定位g++
cd C:\MinGWStudio\Templates\1722063 进入目录
g++ -g p1183.cpp -o p1183 编译
r 运行
b 设置断点、支持条件断点
break+行号/函数名
条件断点
n 单步跟踪
s 单步跟踪(可进入函数)
finish 退出函数
p 打印变量或者表达式
l 打印附近代码
c 继续执行直到遇到断点或者程序结束
d 删除断点 加编号i则删除第i个断点,否则删除所有
d 所有
d+编号I 删除第i个断点
q 退出gdb调试
info b 列出所有断点信息

二,文字编译器的选择

首先应该现有一个MinGW……
可以选择notepad++//好像不可以跨平台吧…………
GUIDE//noi官方,可以跨平台,有静态,动态两种。
或者
UltraEdit(超级编辑器)//慎选,这个最舒服但不能跨平台也要氪金(有不氪金的方法)
GUIDE可以在这里下http://www.noi.cn/guide-10
而notepad++和UltraEdit在百度上找就好了。

当然也有其他,像Emacs(也可以跨平台),TextMate,Vim(跨平台),TextPad等等。我没用过,所以不好评论。但就我个人而言,还是上面的三种比较好。

补一个vs code的设置

{
    "extensions.ignoreRecommendations": false,
    "window.zoomLevel": 1,
    "editor.fontSize": 20 "editor.matchBrackets": false }  

三,电脑中程序的安装
浏览器尽量用谷歌的Google Chrome,火狐应该也可以。360什么的就不要用了。在电脑上的话蓝灯也是要下载一个吧。杀毒软件什么的还是免了吧,其实你的电脑一般中不了毒——如果不是你写的病毒的话,关键它还特别喜欢删掉jave的附件之类的。

四,电脑硬件
不要用游戏键盘,不要用游戏键盘,不要用游戏键盘,重要的事情说三遍。那个敲题…………(我无法描述那个感觉)其实键盘鼠标什么的自己顺手就好,不要正用着一把废了它就好。说到底,不管是笔记本 还是笔记本都可以写题,不需要辣么讲究。

—————————————————————-这是一条区分水文和干货的分割线—————————————————–

五,常用算法库

#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cmath>
#include<utility>
#include<stdio.h>
#include<cstdlib>
#include<iomanip> //cout<<setiosflags(ios::fixed)<<setprecision(2);
#include<ctime> //double a=(double)clock(); cout<<a<<endl;
#include<vector>
#include<queue>
using namespace std;

六,快速读入

//#include<cctype>
inline int read()
{
    int x=0,ff=1;char ch=getchar();
    while(!isdigit(ch)){if(ch=='-')ff=-1;ch=getchar()}
    while(isdigit(ch)){x=(x>>1)+(x>>3)+ch-'0';ch=getchar();}
    return x*ff;
}

七,快速排序

#include <iostream>

using namespace std;

void Qsort(int a[], int low, int high)
{
    if(low >= high)
    {
        return;
    }
    int first = low;
    int last = high;
    int key = a[first];/*用字表的第一个记录作为枢轴*/

    while(first < last)
    {
        while(first < last && a[last] >= key)
        {
            --last;
        }

        a[first] = a[last];/*将比第一个小的移到低端*/

        while(first < last && a[first] <= key)
        {
            ++first;
        }

        a[last] = a[first];    
/*将比第一个大的移到高端*/
    }
    a[first] = key;/*枢轴记录到位*/
    Qsort(a, low, first-1);
    Qsort(a, first+1, high);
}
int main()
{
    int a[] = {57, 68, 59, 52, 72, 28, 96, 33, 24};

    Qsort(a, 0, sizeof(a) / sizeof(a[0]) - 1);/*这里原文第三个参数要减1否则内存越界*/

    for(int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
    {
        cout << a[i] << "";
    }

    return 0;

八,二进制快速幂

while(n)
{
    if(n&1) b=a*b;
        a=a*a;
    n>>=1;
}

然后好像就没有什么了,以后有了再补进去。