专业课
写代码的资资
这个作者很懒,什么都没留下…
展开
-
付款的方法是的付出钱币的总重量最轻C语言|算法设计
3.5 设有n种不同面值的硬币,第i种硬币的币值是vk(其中v1=1),重量是wi,i=1,2……n,且现在购买某些总价值为y的商品,需要用这些硬币付款,如果每种钱币使用的个数不限,那么如何选择付款的方法是的付出钱币的总重量最轻?问题的实例:V1=1, v2=4 ,v3=6 ,v4=8 ,w1=1,w2=2,w3=4,w4=6y=12// Money.cpp : 定义控制台应用程序的入...原创 2020-04-08 00:16:30 · 2758 阅读 · 2 评论 -
七大排序重点|数据结构
排序内部排序外部排序数据对象全部存放在内存中的排序数据对象太多,不能同时存放在内存中,只能存放在外部存储器,根据排序过程的要求,取一部分到内存中来,然后再存回到外部存储器1.插入排序1.1直接插入排序void INSERTSORT(int R[]){ int i,j; for(i=2;i<=n;i++) { if(R[i]<R[i-1])...原创 2019-12-31 17:09:55 · 188 阅读 · 0 评论 -
栈和队列重点|数据结构
一、栈的特点(栈顶栈底)二、栈的基本函数top的位置三、栈的应用1.括号匹配检验三种括号括号检测2.进制转换(10转2.8.16/2.8.16转10)四、队列的特点五、队头(front删除)/队尾(rear插入)五、队列的基本函数六、循环队列取余运算入队出队长度六、判断循环队列中队空和队满的条件队空队满...原创 2019-12-28 14:27:55 · 236 阅读 · 1 评论 -
数据结构、线性表链表重点|数据结构
文章目录一、第一章数据结构逻辑结构1.集合结构2.线性结构3.树结构4.图结构或网状结构存储结构1.顺序存储2.链式存储计算时间复杂度算法时间复杂度的定义步骤题目二、第二章线性表的定义线性表的顺序存储表示一、第一章数据结构相互之间存在一种或多种关系的数据元素的集合。数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。结构逻辑结构存储结构...原创 2019-12-27 11:10:05 · 774 阅读 · 0 评论 -
模拟双线程(累和计算效率)|操作系统
#include <stdio.h>#include <math.h>#include <Windows.h>#include <time.h>#define MAXVAL 100000long sum1=0;long sum2=0;long sum3=0;//线程1:计算sum1=1+2+3+......100000DWO...原创 2019-12-21 22:35:31 · 309 阅读 · 0 评论 -
Win32线程创建简单例子|操作系统
CreateThread()创建与终止线程#include <windows.h>#include <stdio.h>//线程函数声明,必须是全局函数DWORD WINAPI ThreadProc(LPVOID lpParam){ printf("Sub thread started\n"); printf("Sub thread finished\n");...原创 2019-12-21 22:06:04 · 157 阅读 · 0 评论 -
数据库完整性|数据库
数据的完整性是指数据的正确性和相容性。数据的正确性是指数据符合现实世界的语义反映当前实际状况的。数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。数据库的完整性和数据库的安全性是两个既有联系又不同的概念。数据库的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。数据库的安全性是保护数据库防止恶意破坏和非法存取。完整性检查和控制的防范对象是不合语...原创 2019-12-21 15:04:04 · 235 阅读 · 0 评论 -
文件读入|数据结构
#include <stdio.h>#include <conio.h>#define MAX 35typedef struct{ long stu_no; char name[10]; int score;}rectype;void main(){ void read_file(rectype R[]); void print_data(r...原创 2019-12-21 15:03:36 · 730 阅读 · 0 评论 -
查找|数据结构
线性表查找顺序查找#define MAX 20int R[MAX+1]int n;int SeqSearch(int R[],int K){ int i; for(i=n;i>=1;i--) { if(R[i]==K) return i; } return 0;}折半查找前提条件:基于有序的顺序表每次将待查数据所在区间从中间分开,缩小一半。int...原创 2019-12-21 15:02:13 · 103 阅读 · 0 评论 -
实现分块有序的算法|数据结构
1.找最小void BLOCKING1(int R[]){ int i,j,t,k,temp,s;----------------------------------------------------1.对每一块进行循环 for(i=1;i<=(b-1)*S;i+=s)---------------------------------------------------- ...原创 2019-12-21 14:54:49 · 413 阅读 · 0 评论 -
循环链表原地翻转|数据结构
#include <stdio.h>#include <stdlib.h>typedef struct sqlink{ int data; struct sqlink *next;}sqlink;int main(){ int i; sqlink *head; sqlink *p,*q; void OUT(sqlink *head); voi...原创 2019-12-20 20:26:20 · 290 阅读 · 0 评论 -
存储器管理考研题目|操作系统
[1]计算机系统的二级存储包括(主存储器和辅助存储器)由于主存储器能够直接被处理器访问,而辅助存储器不能。因此在进程运行时必须把它的程序和数据放到主存储器中,考虑到存储器的空间不足,一般计算机系统都采用二级存储的方式,利用辅助存储器存放准备运行的程序和数据,当需要时或者主存空间允许时,随时将他们读入主存储器。[2]操作系统实现(分区)存储管理的代价最小实现分页、分段和段页式管理都需要特...原创 2019-12-20 15:45:06 · 504 阅读 · 0 评论 -
存储器管理课后习题|操作系统
1.为什么要配置层次式存储器层次寄存器高速缓存主存储器磁盘缓存固定磁盘在理想情况下,存储器的速度应该非常快,能够跟上处理机的速度,容量非常大,而且价格便宜,但目前无法同时满足这三个条件,于是现代计算机系统中,存储器采用层次式结构来组织。设置多个存储器可以使存储器两端的硬件并行工作。采用多级存储系统,特别是Cache技术,是减轻存储器带宽对系统...原创 2019-12-20 13:45:38 · 939 阅读 · 0 评论 -
进程同步互斥|操作系统
文章目录进程同步互斥一、进程同步二、进程互斥进程互斥的软件实现方法1.单标志法2.双标志先检查法3.双标志后检查法4.Peterson算法进程互斥的硬件实现方法1.中断屏蔽方法2.TestAndSet指令3.Swap指令信号量机制1.整型信号量2.记录型信号量三、用信号量实现进程互斥、同步、前驱关系1.信号量机制实现进程互斥进程同步互斥一、进程同步异步同步各并发执行的进...原创 2019-12-17 21:41:27 · 288 阅读 · 2 评论 -
输入输出系统|操作系统
文章目录二、I/O控制器1.I/O控制器功能2.I/O控制器组成3.I/O控制器中的地址三、I/O控制方式1.程序直接控制方式2.中断驱动方式3.DMA控制器4.通道控制方式四、I/O软件层次1.用户层软件2.设备无关性软件逻辑设备表LUT3.设备驱动程序4.中断处理程序总结五、假脱机技术(SPOOLing)1.输入井和输出井2.共享打印机的原理六、设备的分配与回收设备控制表控制器控制表通道控制表...原创 2019-12-16 21:19:06 · 1312 阅读 · 1 评论 -
链表原地翻转|数据结构
p原地翻转的意思是p->next是要指向它的前一个结点因此有一个结点pre一直在p的前面由于当前p这个结点翻转后,还需要指向下一个结点继续重复“翻转”操作,因此还需要一个指针记录p后面的结点指针用途p当前翻转rear指向p后面的那个结点pre指向p前面的那个结点void Reverse(linklist *head){ linklis...原创 2019-12-16 12:13:28 · 326 阅读 · 0 评论 -
设单链表A和B都非递减有序,试设计算法,将A和B合并成非递增有序的单链表C,并要求利用原表A和B的结点空间构成表C|数据结构
这个头插法,注意比较递增链表合并成递增递增链表合并成递减尾插法头插法linklist *COMB(linklist *A,linklist *B){ linklist *C,pa,pb,*q; pa = A->next; pb = B->next; C=A; C->next=NULL; if(pa&&pb) { i...原创 2019-12-16 11:10:12 · 658 阅读 · 0 评论 -
一元多项式:链式实现|数据结构
数据表示用带头结点的链式表来表示多项式,每个结点对应多项式的一项数据结构标志指数域exp系数域coef指针域nexttypedef struct node{ int exp; float coef; struct node* next;}polynode;步骤1.当p1和p2都没到达尾部时,逐一取出p1、p2指向的结点的指数值如果...原创 2019-12-16 10:46:47 · 446 阅读 · 0 评论 -
链表代码|数据结构
一、线性链表线性链表的存储结构typedef int datatype;typedef struct node{ datatype data; struct node *next;}linklist;头结点与第一个数据结点一定要区分开来头结点是整个线性链表的第一个结点,它的数据域可以用来存放线性表的长度等附加信息,也可以不存储任何信息。线性链表的基本运算运算函数名...原创 2019-12-16 10:11:21 · 221 阅读 · 1 评论 -
设单链表A和B都非递减有序,试设计算法,将A和B合并成非递减有序的单链表C,并要求利用原表A和B的结点空间构成表C|数据结构
设单链表A和B都非递减有序,试设计算法,将A和B合并成非递减有序的单链表C,并要求利用原表A和B的结点空间构成表C采用尾插法(由于A、B非递减,C也要求非递减,顺序一致)非递减排序算法(本质是选择排序)void SORT(linklist *head){ linklist *p,*q; int t; for(p=head->next;p;p=p->next) {...原创 2019-12-16 09:49:44 · 881 阅读 · 0 评论 -
存储器管理|操作系统
一.内存的基础知识编译:由编译程序将用户源代码编译成若干目标模块(编译就是把高级语言翻译成机器语言).c->.o链接:由链接程序将编译后形成的一组目标模块,以及所需要的函数链接在一起,形成一个完整的装入模块.o->.exe装入(装载):由装入程序将装入模块装入内存运行。(由逻辑地址变成物理地址)装入的三种方式方式逻辑地址到物理地址的转换绝对装入编译时将...原创 2019-12-15 18:20:25 · 436 阅读 · 0 评论 -
稀疏矩阵相加——三元组
1. 稀疏矩阵一个阶数较大的矩阵中的非零元素个数s相对于矩阵元素的总个数 t 很小时,即s<ts<t,称该矩阵为稀疏矩阵。比如:在一个100×100的矩阵中,其中只有100个非零元素,而非零元素相对于矩阵中的元素总个数10000很小,那么该矩阵为稀疏矩阵。2. 稀疏矩阵的压缩存储方法对于稀疏矩阵来说,如果我们还是用100×100的方式来存储的话,显然是非常浪费的,因此我们可...原创 2019-12-15 11:09:10 · 3001 阅读 · 3 评论 -
用栈实现数的进制转换|2、8、16转换到10
void my_10(char str[],int d){ sqstack *SS; SS = (sqstack*)malloc(sizeof(sqstack)); SS->top=0; int i=0; while(str[i]!='/0') { if(str[i]>='A'&&str[i]<='F') str[i]=str[i]-55;...原创 2019-12-15 10:40:43 · 385 阅读 · 0 评论 -
队列和循环队列代码|队列
文章目录队列定义顺序表示初始化队列入队出队线性顺序队列的缺点循环队列区别队满和队空队满队空入队出队队列定义队列是在一端删除(队头Front),另一端插入的线性表(队尾Top)。顺序表示#define MAX 100typedef int datatype;typedef struct{ datatype data[MAX]; int front;//队尾 int rear;/...原创 2019-12-15 10:26:21 · 129 阅读 · 0 评论 -
进程|操作系统
文章目录一、进程的概念1.进程的定义2.进程组成3.进程的组织4.进程的特征二.进程的状态和转换1.三种基本状态2.另外两种状态1)创建状态2)结束状态3.进程状态的转换三、进程控制1.用原语实现进程控制进程控制相关的原语四、进程通信1.共享存储1)基于数据结构的共享2)基于存储区的共享2.消息传递1)直接通信方式2)间接通信方式3.管道通信五、线程概念1.为什么要引入线程2.线程的CPU3.线程...原创 2019-12-14 19:42:40 · 2472 阅读 · 2 评论 -
操作系统的基本概念|操作系统
文章目录操作系统的概念一、操作系统的功能和目标1.作为系统资源的管理者2.作为用户和计算机硬件之间的接口3.作为最接近硬件的层次二、操作系统的特征1.并发2.共享3.虚拟4.异步三、操作系统的发展和分类1.手工操作阶段2.单道批处理阶段3.多道批处理阶段4.分时操作系统5.实时操作系统6.网络操作系统7.分布式操作系统8.个人计算机操作体系四、运行机制指令处理器状态两种程序五、操作系统内核六、中断...原创 2019-12-14 10:39:57 · 2256 阅读 · 0 评论 -
数据库安全性
4.1数据库的安全概述== 数据库的安全行是指保护数据以防不合法的使用所造成的数据泄露、更改或破坏。==不合法:用户不合法/操作不合法4.1.1数据库的不安全因素非授权用户对数据库的恶意存取和破坏数据库中重要的或敏感的数据被泄露安全环境的脆弱数据库的安全性与计算机系统的安全性(计算机硬件、操作系统、网络系统)的安全性是紧密相连的,操作系统安全的脆弱、网络协议安全保障的不足都会造成数...原创 2019-12-13 21:17:02 · 232 阅读 · 0 评论 -
栈在递归算法的内部实现中所起的作用|栈与递归
采用递归算法解决的问题定义是递归的//阶乘的函数定义long Fact(int n){ if(n==1) return 1; else return n*Fact(n-1);}对于一类复杂的问题,能够分解成几个相对简单,解法相同或类似的子问题来求解,便称为递归求解。这种分解-求解的策略叫“分治法”能够通过转变将问题变成一个与原问题相类似的问题通过分治法简化问题必须有一个...原创 2019-12-11 20:08:21 · 1179 阅读 · 0 评论 -
栈代码|数据结构
栈和队列是和线性表不相同的两类重要的抽象数据类型栈1.顺序栈#define MAXSIZE 100typedef int datatypetypedef struct { datatype data[MAXSIZE]; int top; //默认0就是栈低}seqstack;栈的基本操作进栈void PUSH(seqstack *s,datatype x){ if(...原创 2019-12-11 19:13:23 · 642 阅读 · 0 评论 -
getch()和getchar()的区别
getch()用于暂停getchar()用于清理字符型垃圾getchar()的头文件是<stdio.h>getch()的头文件是<conion.h>getchar()getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区(输入缓冲区)中.直到用户按回车为止(回车字符也放在缓冲区中).getchar...原创 2019-12-11 18:35:05 · 311 阅读 · 0 评论 -
排序算法代码|数据结构
#直接插入排序void InsertSort(int R[]){ int i,j; for(i=2;i<=n;i++) { if(R[i]<R[i-1]) { R[0]=R[i]; for(j=i-1;R[0]<R[j];j--) { R[j+1]=R[j]; } } R[j+1]=R[0]; ...原创 2019-12-10 21:06:25 · 167 阅读 · 0 评论 -
快速排序的空间复杂度|数据结构
空间复杂度 最优的情况下空间复杂度为:O(logn) ;每一次都平分数组的情况 最差的情况下空间复杂度为:O( n ) ;退化为冒泡排序的情况 首先就地快速排序使用的空间是O(1)的,也就是个常数级; **而真正消耗空间的就是递归调用了,因为每次递归就要保持一些数据;**#快速排序int Partition(int R,int low,int high){ int i...原创 2019-12-10 19:54:15 · 9651 阅读 · 1 评论 -
中文字符串是怎么比较大小的?
我以为中文字符串是按照拼音比较大小的,其实是按照编码比较的!http://tool.chinaz.com/tools/unicode.aspx原创 2019-12-09 16:46:56 · 1273 阅读 · 0 评论 -
排序|数据结构
#define MAXSIZE 20typedef int RedTypetypedef struct { KeyType key; InfoType otherinfo; }RedType;typedef struct{ RedType r[MAXSIZE+1]; int length;}SqLIst;插入排序直接插入排序void StraightInsertSo...原创 2019-12-03 22:46:24 · 231 阅读 · 0 评论 -
mfc 控件
文章目录CSaticText 静态文本编辑框EditCtrl属性退出当前对话框添加变量选择Value下拉框 CComboxCSaticText 静态文本添加成员变量,以STATIC结尾的ID是 不可以添加变量的,需要修改ID设置内容 setWindowTextW获取内容 getWindowTextW利用静态文本显示图片如何禁用按钮 EnableWindow//宽高设置 应...原创 2019-11-28 20:45:46 · 110 阅读 · 0 评论 -
graphics画图
#include<graphics.h>#include<stdio.h>#include <conio.h>#define R 60void main(){ int driver,mode; int xasp,yasp; driver=DETECT; mode=0; initgraph(&driver,&...原创 2019-11-25 15:02:53 · 451 阅读 · 0 评论 -
C语言initgraph()函数
函数名: initgraph() 功 能: 初始化图形系统 函数原型: void far initgraph(int far graphdriver, int far graphmode, char far pathtodriver);graphdriver是上涨指向图形驱动序号变量的指针;graphmode是在graphdriver选定后,指向图形显示模式序号变量的指针。pathto...原创 2019-11-25 14:41:04 · 7338 阅读 · 0 评论 -
C语言drawpoly()函数
#include<graphics.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <windows.h>#include <conio.h>void main(){ int driver,mode; stati...原创 2019-11-25 14:40:24 · 2200 阅读 · 0 评论 -
mfc入门
文章目录一、MFC入门1、Windows消息机制1.1基本概念1)SDK和API2)窗口和句柄3)消息与消息队列4)WinMain函数1.2Windows编程模型1.3MFC入门2、基于对话框编程一、MFC入门学习MFC主要学习MFC框架的设计思想。1、Windows消息机制1.1基本概念1)SDK和APISDK:软件开发工具包(SoftWare Development Kit),一般...原创 2019-11-19 20:20:54 · 313 阅读 · 0 评论 -
普里姆算法(prim)
struct{ VertexType adjvex;//最小边在U中的那个顶点 ArcType lowcost;//最小边上的权值 }closedge[MVNum]struct { VerTexType vexs[MVNum]; ArcType arcs[MVNum][MVNum]; int vexnum,arcnum;}void MiniSpanTree...原创 2019-11-18 18:08:44 · 309 阅读 · 0 评论