- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 同一进程的线程共享的资源和独有的资源
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标 识线程。 2.寄存器组的值 由于线程间是并发运行的,每个线程有自己不同的运行线...
2021-11-09 17:11:46 393
原创 链表操作---
#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;typedef int DataType;typedef struct SListNode{ DataType data; struct SListNode* next;}Node, *pNode;pNode CreateList(int length){ int val;.
2021-09-14 17:32:44 93
原创 在win10下使用vscode和cmake进行多文件联合编译
1.工程目录如下:其中工程文件夹名为TEXT,名下有包含两个.cpp的src和包含一个.h的func其中main.cpp中的main函数调用func.cpp中的函数进行输出HELLO WORLD2.在TEXT下新建CMakeList.txt处理索引 编译 链接3.shift+alt+p 运行CMake:configure 生成build文件夹,绑定用户创建的CMakeList.txt4.新建终端 cd进入build目录,运行cmake ..5.在同目录下运行mingw..
2021-09-09 16:58:50 498
原创 用链表实现栈
#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct{ ElemType data; Node* next;}Node, *LinkStack;LinkStack initStack(LinkStack stack){ stack = (LinkStack)malloc(sizeof(Node)); stack->next = NULL;.
2021-09-07 10:51:22 75
原创 source insight 快捷操作
Source Insight常用快捷键1.Ctrl + 鼠标单击 进入定义.2.Alt + F12可以切换,让字符宽度变得一致,或者是大小不同地显示。3.Shift + F8 标亮文本中光标所在的单词。4.Ctrl + G (或者F5) 跳转到某一行。5.Ctrl + O 搜索文件,找到回车打开,找不到ESC退出6.Alt + G (或者F7) 打开Symbol Window.7.Alt +, 后退;Alt+.前进.8.Ctrl + F 查找关键字。source insight4.0使用
2021-08-30 11:27:07 1145
原创 二分查找算法
int binary_search( int arr[], int n, int key){ int left = 0; //数组的首位置,即arr[0]处 int right = n - 1; //数组的最后一个位置,即arr[n-1],数组大小为n //循环条件一定要注意 while (left <= right) { int mid = l.
2021-08-20 17:20:08 64
原创 C/C++ 排序算法总结实现(7)希尔排序-全网最全!
施工中void ShellSort(int arr[], int len) { int gap, i, j; int temp; for (gap = len >> 1; gap > 0; gap >>= 1)//整数>>1 相当于/2 for (i = gap; i < len; i++) { temp = arr[i]; for (j = i - gap; j >= 0 && arr[j] > tem
2021-08-16 16:11:58 81
原创 C/C++ 排序算法总结实现(6)堆排序-全网最全!
堆排序 施工中void HeadAdjust(int A[], int k, int len){ A[0] = A[k]; //A[0]暂存子树的根结点 for(int i = 2 * k; i <= len; i *= 2) //沿key较大的子结点向下筛选 { if(i < len && A[i] < A[i + 1]) i++;
2021-08-09 17:58:12 89
原创 C/C++ 排序算法总结实现(5)归并排序-全网最全!
归并排序是分而治之思想的典型应用。归并简介归并排序,英文名称是MERGE-SORT。它是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。二路归并若将两个有序表合并成一个有序表,称为二路归并。比较 a[i] 和 b[j] 的大小,若 a[i]≤b[j],则将第一个有序表中的元素a[i]复制到 r[k] 中,并令i 和 k 分别加上1;否
2021-08-06 15:53:18 148
原创 C/C++ 排序算法总结实现(4)选择排序-全网最全!
算法思想选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。算法过程举个栗子(第一趟的排序过程)原始序列:49、38、65、97、76、13、27、491)在进行选择排序过程中分成有序和无序两个部分,开始都是无序序列结果:49、38、65、97、76、13、27、492)从无序序列中取出最小的元素13,将13同无序序列第一个元素交换,此时产生仅含一个元素的有序序列,无序序列减一结果:{13、} .
2021-08-06 14:23:38 245
原创 C/C++ 排序算法总结实现(3)插入排序-全网最全
步骤:1.从第一个元素开始,该元素可以认为已经被排序2.取下一个元素tem,从已排序的元素序列从后往前扫描3.如果该元素大于tem,则将该元素移到下一位4.重复步骤3,直到找到已排序元素中小于等于tem的元素5.tem插入到该元素的后面,如果已排序所有元素都大于tem,则将tem插入到下标为0的位置6.重复步骤2~5思路: 在待排序的元素中,假设前n-1个元素已有序,现将第n个元素插入到前面已经排好的序列中,使得前n个元素有序。按照此法对所有元素进行插入,直到整个序列有序。 .
2021-08-03 14:52:31 102
原创 C语言alloca、malloc、calloc、realloc的区别
(1)C语言跟内存分配方式<1>从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.<2>在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.<3>从堆上分配,亦称动态内存分配. 程序在运行的时候用malloc或new申请任意...
2021-08-03 09:39:05 205
原创 C/C++ 排序算法总结实现(2)快速排序-全网最全!
快速排序 Quick Sort快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:1.从数列中挑出一个元素,称为 “基准”(pivot);2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准.
2021-08-01 22:00:54 106
原创 C/C++ 排序算法总结实现(1)冒泡排序-全网最全!
冒泡排序 Bubble Sort冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述1.比较相邻的元素。如果第一个比第二个大,就交换它们两个;2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;3.针对所有的元素重复以上的步骤,除了最后一
2021-08-01 12:33:00 432
原创 C/C++的编译过程细分
1.预编译:预处理器对c程序进行一些预处理工作,例如对宏定义的变量进行替换;gcc -E project.c -o project.i1)将所有的#define删除,并展开所有的宏定义; 2)处理所有的预编译指令,例如:#if,#elif,#else,#endif; 3)处理#include预编译指令,将被包含的文件插入到预编译指令的位置; 4)添加行号信息文件名信息,便于调试; 5)删除所有的注释:// /**/;...
2021-08-01 09:23:51 79
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人