自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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++ 排序算法总结实现(0)各排序算法汇总与区分

先上两张图作为这个系列的开场,非常直观

2021-08-01 11:43:31 62

原创 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

TMS320C6748中文数据手册.7z

官方技术文档中文大礼包 创龙翻译质量保证

2021-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除