系列综述:
💞目的:本系列是个人整理为了秋招算法
的,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于网上知识点
进行的,每个代码参考热门博客和GPT3.5,其中也可能含有一些的个人思考。
🤭结语:如果有帮到你的地方,就点个赞和关注一下呗,谢谢🎈🎄🌷!!!
🌈数据结构基础知识总结篇
文章目录
- 字符和进制转换
- 字符串和十进制的转换
- 进制数的输出格式
- 十进制的二级制形式运算
- 搜索插入位置
- 参考博客
😊点此到文末惊喜↩︎
字符和进制转换
字符串和十进制的转换
atoi
和itoa
函数// 注意需要包含的头文件 #include <iostream> using namespace std; // atoi() // 功能:字符串转换成十进制数 // 特点:直到遇上数字或正负符号才开始做转换, // 而再遇到 非数字 或 字符串结束时(’\0’) 才结束转换,并将结果返回 const char *s = " 134"; int num = atoi(s); cout << num; //输出:134 // itoa() // 功能:十进制转换成任意进制的字符串 // 特点:将十进制转换成2~36中任意进制的字符串 int num = 100; char str[25]; itoa(num, str, 2);// 转换成2~36进制的字符串 cout << str; //输出100 // strtol() // 功能:将一个任意2-36进制数转化为long型的10进制数 char str[30] = "1000"; char *substring; long number; number = strtol(str, &substring, 2);
进制数的输出格式
- 在C++语言(hex、oct、itoa)
// 所需头文件 #include <iostream> using namespace std; cout << hex <<num<< endl; // 十六进制 cout <<num<<endl; // 十进制 cout << oct <<num<<endl; // 八进制 // 二进制 char s[10]; //自定义二进制数的位数,输出位数是实际所需位数 itoa(num,s,2);//转成字符串,进制为2 cout << s <<endl;// 二进制
- 在C语言中
printf("%x",35); //按十六进制格式输出 printf("%d",35); //按十进制格式输出 printf("%o",35); //按八进制格式输出 // 按二进制进行输出 char s[10]; //自定义二进制数的位数,输出位数是实际所需位数 itoa(num,s,2);//转成字符串,基数为2 printf("%s",s);
十进制的二级制形式运算
// 按位与&:全1为1
int AND = 1 & 2; // 01 & 10 = 0b00 = 0
// 按位或|:有1为1
int OR = 1 | 2; // 01 | 10 = 0b11 = 3
// 非运算~:int类型为16位全部取反
~6; // ~0000 0000 0000 0110 = 1111 1111 1111 1001 = 1000 0000 0000 0110+1(保留符号位,全部取反+1) = -7
// 异或运算^:不同为1
// a ^ b ^ a = b;
int XOR = 1 ^ 2; // 01 ^ 10 = 0b11 = 3
// 同或运算 ~(a ^ b):相同为1
int SAME_OR = ~(1 ^ 2); // ~(01 | 10) = 0
// 左移运算(oper << n):向左移1位,末尾添0。相当于十进制乘以2
3 << 1; // 0000 0000 0000 0011 -> 0000 0000 0000 0110 = 3*2 = 6
// 右移运算(oper >> n):向右移1位
(-6 >> 1); // 相当于除以2
搜索插入位置
🚩点此跳转到首行↩︎
参考博客
- C++中的各种进制转换函数汇总
- 【C语言】 itoa()函数 和 atoi()函数(字符串与整型数的转换)
- 二分查找算法详解
- 待定引用
- 待定引用
- 待定引用
- 待定引用
- 待定引用