03 2022 档案

摘要:在模板定义语法中关键字class与typename的作用完全一样。 typename另外一个作用为:使用嵌套依赖类型(nested depended name),如下所示: class MyArray { public: typedef int LengthType; ..... } templat 阅读全文
posted @ 2022-03-30 16:34 ainingxiaoguai 阅读(54) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://blog.csdn.net/u011201045/article/details/38679417 首先要明白,C++中每一个对象所占的空间大小,对象的内存分布都是在编译时期就确定下来的。而对于模板类来说,对象占空间的大小和内存分布是不知道的,依所套用的类型而定,比如A为模 阅读全文
posted @ 2022-03-30 16:18 ainingxiaoguai 阅读(1054) 评论(0) 推荐(0) 编辑
摘要:void heapify(vector<int> &arr, int n, int i) { int largest = i; int lson = 2 * i + 1; int rson = 2 * i +2; if (lson < n && arr[lson] > arr[largest]) { 阅读全文
posted @ 2022-03-22 18:52 ainingxiaoguai 阅读(30) 评论(0) 推荐(0) 编辑
摘要:int partition(vector<int> &arr, int left, int right) { int key = arr[right]; int i = left; for (int j = left; j <right; j++) { if (arr[j] < key) { swa 阅读全文
posted @ 2022-03-22 18:38 ainingxiaoguai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:void merge(vector<int> &arr, int left, int mid, int right) { int lpos = left; int rpos = mid + 1; int poss = left; int i = 0; vector<int> tempArr; whi 阅读全文
posted @ 2022-03-22 17:34 ainingxiaoguai 阅读(14) 评论(0) 推荐(0) 编辑
摘要:void shellSort(vector<int> &arr) { int i,j,gap,key; for (gap = arr.size() / 2; gap > 0; gap /= 2) { for (i = gap; i < arr.size(); i++) { key = arr[i]; 阅读全文
posted @ 2022-03-22 17:33 ainingxiaoguai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (*p)[4] 阅读全文
posted @ 2022-03-21 19:14 ainingxiaoguai 阅读(365) 评论(0) 推荐(0) 编辑
摘要:Loading struct CLS { int m_i; CLS(int i):m_i(i) {} CLS() { CLS(0); } }; CLS obj; cout<<obj.m_i<<endl; 我们知道,当定义一个对象时,会按顺序做2件事情: 1)分配好内存(非静态数据成员是未初始化的) 阅读全文
posted @ 2022-03-21 18:43 ainingxiaoguai 阅读(72) 评论(0) 推荐(0) 编辑
摘要:void insertSort(vector<int> &arr) { int j; for (int i = 1; i < arr.size(); i++) { int key = arr[i]; for (j = i - 1;j >= 0; j--) { if (key < arr[j]) { 阅读全文
posted @ 2022-03-21 15:29 ainingxiaoguai 阅读(12) 评论(0) 推荐(0) 编辑
摘要:void select_Sort(vector<int> &arr) { int min = 0, j = 0; for (int i = 0; i < arr.size() - 2; i++) { min = i; for (j = i + 1; j < arr.size(); j++) { if 阅读全文
posted @ 2022-03-21 15:06 ainingxiaoguai 阅读(5) 评论(0) 推荐(0) 编辑
摘要:#include<iostream> #include<vector> #include<algorithm> #include<string> using namespace std; template<typename T> void swap(T *a, T *b) { T temp = *a 阅读全文
posted @ 2022-03-21 14:37 ainingxiaoguai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:https://code.visualstudio.com/docs/cpp/config-clang-mac 阅读全文
posted @ 2022-03-21 13:46 ainingxiaoguai 阅读(54) 评论(0) 推荐(0) 编辑
摘要:gcc/g++ gcc发展到今天已经不单单可以编译C语言了,还可以编译C++、Java、Object-C等多种其他语言有一种说法是GCC的全名是GNU Compiler Collection(GUN 编译器集合),而gcc是GCC中用于编译c语言的编译器事实上,gcc看起来并不像是一个编译器,而像一 阅读全文
posted @ 2022-03-18 19:37 ainingxiaoguai 阅读(67) 评论(0) 推荐(0) 编辑
摘要:引言 自旋锁(Spinlock)是一种 Linux 内核中广泛运用的底层同步机制。自旋锁是一种工作于多处理器环境的特殊的锁,在单处理环境中自旋锁的操作被替换为空操作。当某个处理器上的内核执行线程申请自旋锁时,如果锁可用,则获得锁,然后执行临界区操作,最后释放锁;如果锁已被占用,线程并不会转入睡眠状态 阅读全文
posted @ 2022-03-17 11:39 ainingxiaoguai 阅读(607) 评论(1) 推荐(0) 编辑
摘要:1、中断中为何不能使用信号量? 答: 信号量会导致睡眠。 2、中断上下为何不能睡眠? 以下为转载: http://blog.chinaunix.NET/uid-7332782-id-3213376.html 中断发生以后,CPU跳到内核设置好的中断处理代码中去,由这部分内核代码来处理中断。这个处理过 阅读全文
posted @ 2022-03-17 11:33 ainingxiaoguai 阅读(405) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/weixin_34265814/article/details/85508992?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault% 阅读全文
posted @ 2022-03-17 11:31 ainingxiaoguai 阅读(151) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/onepixel/articles/7674659.html https://www.bilibili.com/video/BV1fp4y1D7cj/?spm_id_from=333.788 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面 阅读全文
posted @ 2022-03-16 18:30 ainingxiaoguai 阅读(58) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示