编程语言
文章平均质量分 72
个人学习的记录,主要涉及C/C++、Java、Python
Ocodotial
这个作者很懒,什么都没留下…
展开
-
利用管道通信(pipe)测量进程间的上下文切换(context switch)开销
第一个进程(子进程)向第一个管道发出写操作,并等待第二个管道的读操作;在看到第一个进程等待从第二个管道读取内容时,操作系统会将第一个进程置于阻塞状态,并切换到另一个进程(父进程),后者从第一个管道读取内容,然后向第二个管道写操作。当第二个进程再次尝试从第一个管道中读取数据时,它就会阻塞,这样来回循环的通信就继续进行。原创 2024-05-15 21:29:42 · 667 阅读 · 0 评论 -
全排列的不同写法(茴字的不同写法)及对应的时间开销
为wrapper 函数。原创 2024-03-18 16:25:23 · 906 阅读 · 0 评论 -
Cxx- 类的static member 和 const member
在这种情况下,仅有const限定的object可以调用const版本的member function,其他情况的object调用non-const member function。当一个类的对象被限定为const时,从类的外部访问其member data时仅能进行read-only,但constructor仍然被自动调用来初始化和修改对象的data。一个类的static member也称为"class variable", 这是因为它是该类所有对象中共享的,即它的值不会因所属该类对象的不同而发生改变。原创 2024-03-07 13:51:39 · 906 阅读 · 0 评论 -
C/Cxx-面向对象中Message的概念
This model of communication encapsulates (封装) behavior within objects and promotes a design where objects interact through well-defined interfaces, a key principle in object-oriented design.: In OOP, an object is an instance of a class (一个对象是一个类的实例).原创 2024-01-22 14:03:26 · 914 阅读 · 0 评论 -
C/Cxx-静态数据类型
静态局部变量相比于普通的局部变量有什么区别?原创 2024-01-16 22:06:40 · 826 阅读 · 0 评论 -
C/C++-传值/地址的区别
涉及了对调用函数的传值/传引用(地址)的区别。原创 2024-01-06 16:31:42 · 991 阅读 · 0 评论 -
C-浮点数类型表示
尽管最近有些小小的迷茫,但是刷题不能马虎啊!,所以回顾一下C语言中是如何表示浮点数类型的。790. 数的三次方根。原创 2024-01-05 17:56:34 · 963 阅读 · 0 评论 -
C-数据类型的内存表示
对于负数,比如 -5,如果使用补码表示,它的二进制形式将是 11111111 11111111 11111111 11111011。在计算机系统中,特别是对于有符号的整型(如 32 位宽的 int 类型),数值的存储和表示通常使用原码、反码和补码这三种形式。反码:保留原码的符号位,然后将原码的数值位取反(0 变 1,1 变 0)。在这种表示法中,最高位(最左边的位)用作符号位:0 表示正数,1 表示负数。更广泛的表示范围:例如,32位宽的 int 类型可以表示从 -2^31 到 2^31 - 1 的整数。原创 2024-01-02 16:47:42 · 848 阅读 · 0 评论 -
Git教程-廖雪峰-个人归纳更新总结
git常用命令原创 2023-07-12 21:04:32 · 1451 阅读 · 0 评论 -
Python利用PIL将png图像转jpg图像
代码】Python利用PIL将png图像转jpg图像。原创 2022-08-06 09:01:19 · 1488 阅读 · 0 评论 -
Python报错“ImportError:most likely due to a circular import“记录
也是奇葩,datetime时python常用内建模块,然后我为了学习,也就将其命名为datetime,所以造成死循环导入,而没有将真正的内置模块导入,这种错误,只需要将文件名改成不和包重名即可。原创 2022-08-05 12:36:12 · 1035 阅读 · 0 评论 -
JAVA入门—写给大忙人看的构造函数
类的构造函数构造函数在每个类中都存在,是面向对象设计语言(OOP)的特色。特点:函数名与类名是相同的不能有返回值可以有参数,也可以没有参数可以有多个说明:声明一个对象,系统首先为该对象分配内存,然后立即自动调用该对象的构造函数注意:任何一个类对象被生成时候一定会调用该类的构造函数无论一个类有多少个构造函数,生产一个类对象时一定只会调用其中的某一个构造函数!cla...原创 2020-03-13 23:00:06 · 302 阅读 · 0 评论 -
JAVA-入门 继承(自学笔记)(郝斌)
继承继承的原则一个很好的经验:“类B是类A的一个特殊化吗?”如果是则让类B做类A的子类class Human{ public String name = "彭晨"; public int age = 22;}class Student extends Human{ public double score = 99;}class Postgrad...原创 2020-03-29 21:11:27 · 213 阅读 · 0 评论 -
Java -入门 异常(自学笔记)(郝斌)
1、什么是异常异常(Exception)是程序运行过程中发生的事件,该事件可以中断程序指令的正常执行流程异常的处理机制(重点)当Java程序运行出现问题时,系统会自动检测到该错误,并立即生成一个与该错误对应的异常对象然后把该异常对象提交给Java虚拟机Java虚拟机会自动寻找相应的处理代码来处理这个异常,如果没有找到,则由Java虚拟机做一些简单的处理后,程序被强行终止!程序员可...原创 2020-04-05 10:54:04 · 267 阅读 · 1 评论 -
java-入门 static静态类型
关键字static静态成员属于类本身的,而不是属于对象,被类的所有对象所共有即使不创建对象,也可以使用类本身的静态成员静态成员分为静态数据成员静态方法成员使用静态成员的两种方法类名.静态成员名类对象名.静态成员名编写使用静态变量统计一个类产生的实例对象的个数的程序//程序证明static属性i属于类本身,创建对象的时候不再单独创建数据成员i的内存class A...原创 2020-06-08 07:30:32 · 227 阅读 · 0 评论 -
JAVA-入门 多态(郝斌)(整理笔记)
多态一个***父类的引用类型变量***它既可以指向父类对象也可以指向子类对象,它可以根据当前时刻指向的不同,自动调用不同对象的方法,这就是多态class A{ public void f() { System.out.printf("AAAA\n"); }}class B extends A{ public void f() ...原创 2020-04-14 08:58:46 · 200 阅读 · 1 评论 -
GUI
GUI组件组件(Component)是图形用户界面的基本组成元素,凡是能够以图形化方式显示在屏幕上并且能够与用户进行交互的对象均为组件,如菜单、按钮、标签、文本框、滚动条等。组件分类java.awt.ComponentJava.awt.MenuComponent说明:抽象类java.awt.Component是除菜单相关组件之外所有JavaAWT组件类的根父类,该类规定了GUI组件...原创 2020-05-01 20:20:33 · 212 阅读 · 0 评论 -
JAVA-入门 函数重写(郝斌)(自学笔记)
函数重写class A{ public void f() { System.out.printf("AAAA\n"); } // public void f(int i) // { // System.out.printf("哈哈\n"); // }}class B extends A{ v...原创 2020-04-04 18:17:56 · 145 阅读 · 0 评论 -
Java-数组(基础篇)
Java-数组(基础篇)Java中的数组是一个复合数据类型。数组中的元素具有相同的类型,元素类型可以是基本数据类型,类的对象,也可以是数组类型,数组元素在内存中是按着顺序排列的,通过一个整型下标可以访问数组中的每一个值。例如,如果a是一个整型数组,a[i]就是数组中下标为i个整数。简单来说,数组就是同种类型数据的有序集合。数组必须经过声明、构造、赋初值三个步骤以后才能有效使用。数组的声明声明一个一维数组的格式有两种:元素数据类型[] 数组名称;元素数据类型 数组名称[];注释:对于上面原创 2020-07-30 20:23:43 · 454 阅读 · 0 评论 -
Java-数据类型详解(基础篇)
文章目录Java-数据类型详解(基础篇)整型浮点类型char类型boolean类型标识符命名规则及规范Java-数据类型详解(基础篇)Java是一种强数据类型语言。这就意味着必须为每一个变量声明一种类型。在Java中变量的数据类型分为两种,即基本数据类型和引用数据类型。如图所示,其中,8种基本数据类型是Java语言内嵌的,在任何操作系统中都具有相同大小和属性,而引用数据类型是Java程序中由编程人员自己定义的变量类型。本篇主要涉及Java中的基本数据类型(primitive type),其中有4种整原创 2020-07-26 16:48:50 · 424 阅读 · 0 评论 -
Java -入门 方法参数(自学笔记)
首先回顾一下在程式设计语言中有关将参数传递给方法(函数)的一些专业术语。按值调用(call by value)表示方法接收的是调用者提供的值。而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。class Employee //simplified Employee class{ private String name; private double salary;原创 2020-06-07 21:45:32 · 205 阅读 · 0 评论 -
JAVA入门—this指针,懂这个就够用了!
关键字this是一个系统隐含的指针被自动附加在非静态的成员函数参数列表中当前时刻,哪个对象调用该函数,那么this就指向当前调用该函数的对象,系统会自动在该函数列表中添加一个隐藏的this指针,并且把调用该函数的对象的地址赋值给this指针。这样以来,在函数的内部通过this就可访问当前正在调用该函数的对象的成员。静态函数内部,没有this指针where is thi...原创 2020-03-14 22:41:24 · 384 阅读 · 0 评论 -
JAVA-入门 抽象类和Final(郝斌)(整理笔记)
抽象类(abstract class)抽象类的由来利用抽象类是为了更好的对类加以分类,就如同人类不但给各种具体植物取了名字还发明了“植物”这个抽象的词对所有具体植物进行归类一样Java用来模拟现实世界,所以也存在抽象类抽象类通常用来作为一个类族的最顶层的父类,用最底层的类表示现实中的具体事物,用最顶层的类表示该类族所有事物的共性抽象方法与抽象类抽象方法在定义Java方法时可以只给出方法头,而不给出方法内部实现代码,这样的方法称为抽象方法凡是没有方法体的方法必须的使用关键字abstra原创 2020-06-08 07:29:35 · 148 阅读 · 0 评论 -
Java复习笔记整理—面向对象
第一部分:基础知识【C】Equals ==For each第二部分:面向对象封装(encapsulation,有时也称为数据隐藏)类:对一类事物抽象所得到的一个概念,“模板”,“蓝图”。//Java中,最简单的类定义形式:class ClassName{ field1 field2 field3 ... constructor1//构造器 constructor2 constructor3 ... method1 method2原创 2020-06-21 20:18:45 · 261 阅读 · 0 评论 -
关于printf()函数和scanf()函数的解析
printf()函数和scanf()函数能让用户可以与程序交流,它们是输入/输出函数,简称I/O函数。虽然printf()函数是输出函数,scanf()函数是输入函数,但是它们的工作原理几乎相同。两个函数都使用格式控制字符串和参数列表。我们先介绍printf(),再介绍scanf()函数。*printf()函数*请求printf()函数打印数据的指令要与待打印数据的类型相匹配。例如...原创 2019-02-01 10:54:59 · 670 阅读 · 0 评论 -
C语言实现野人与传教士过河问题-改进版
人工智能大作业需要,A*算法的应用,我估摸着这个是纯属算是DFS,或者理解为递归。这个代码根据一位博主的C语言改进的。这位博主写的很详细,如果你还是看不懂他的讲解的话,建议你可以根据代码及运行结果手动模拟一遍就可以有一个清楚的认识了,我的改进就是让原来的代码更有一定的适用性,就是使船载量不是仅仅局限于2,而是能够适应更多的输入,同时使代码较为紧凑。把参考的原文放在下面。#include <stdio.h>#define MAX 100//状态struct Rec{ int left_原创 2021-06-07 18:47:55 · 3434 阅读 · 3 评论 -
有符号数和无符号数之间的转换(2020)C
有符号数和无符号数之间的转换C语言允许在各种不同的数字数据类型之间做强制类型转换。例如,假设变量x声明为int,u声明为unsigned。表达式(unsigned)x会将x的值转换成一个无符号数值,而(int)u将u的值转换成一个有符号整数。将有符号数强制类型转换成无符号数,或者反过来,会得到什么结果?从数学的角度来说,可以想象到几种不同的规则。很明显,对于在两种形式中都能表示的值,我们是想要保持不变的。另外一个方面,将负数转换成无符号数可能会得到0.如果转换的无符号数太大以至于超过了补码能够表示的范围,原创 2020-07-24 11:36:38 · 7062 阅读 · 12 评论 -
虚拟页面置换算法FIFO、LRU、OPT(2020-12-07)
#include <cstdio>#include <iostream>#include <queue>using namespace std;const int N = 50;int buff[N];//从下标1开始int time_who[N]; //time_who[i] 用于标记页面i的最久未使用时间,值越大,说明最久没有使用bool flag = true, flag2 = true, book = false;int memory[4原创 2020-12-07 17:00:46 · 289 阅读 · 0 评论 -
Dijkstra算法及A*(Astar)实现最短路径
最短路径问题下面这份代码完全是基于邻接矩阵实现Dijkstra算法,算法竞赛的实现方法,原作者是Acwing大佬y神//稠密图:邻接矩阵#include <iostream>#include <algorithm>#include <cstring>#include <iomanip>#include <cstdlib>using namespace std;const int N = 510;int g[N][N];int原创 2021-06-07 18:53:56 · 515 阅读 · 0 评论 -
第六章-OpenMp多线程编程笔记(intel)
期末考点6.16.106.116.156.186.216.1#include <stdio.h>#include "omp.h"int main(int argc, char * argv[]){ printf("Hello from serial.\n"); printf("Thread number=%d\n", omp_get_thread_num());#pragma omp parallel { printf("Hello from parallel. Threa原创 2021-06-26 16:32:29 · 334 阅读 · 2 评论 -
C基础-sprintf会在格式字符串后面补尾0
sprintf函数注意事项原创 2022-06-14 11:35:20 · 993 阅读 · 0 评论 -
栈于堆的区别与联系(拓展补充)——入门级别
联系0、栈与堆都是操作系统在给正在执行的程序分配的内存的一部分1、他们都是操作系统内存管理的组成部分2、编程中使用的数据都存储在内存中。从硬件的角度看,被存储的每个值都占用一定的物理内存,故它们都是一定存在的物理内存。区别0、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。1、堆(操作系统): 一般由...原创 2020-03-13 00:04:09 · 107 阅读 · 0 评论 -
整型数据类型及其取值范围详解
整型数据类型C数据类型最小值最大值[signed] char-128127unsigned char0255short-3276832767unsigned short065535int-2 147 483 6482 147 483 647unsigned04 294 967 295long-2 147 483 6482 147 483 647unsigned long04 294 967 295int3原创 2020-07-23 13:29:34 · 14188 阅读 · 3 评论 -
有向图的简单路径求解问题(C/C++)
题目:有向图的简单路径求解问题一、课题内容和要求给定一个有向图G两个顶点a和b,试编写算法求a到b的简单路径的数量,并分别输出最短的简单路径和最长的简单路径。头文件:#ifndef PATH_HEADER_#define PATH_HEADER_#include <stdlib.h>#include <string.h>#include <limits.h>#define ERROR 0#define OK 1#define Overflow 2原创 2020-06-23 20:14:32 · 3715 阅读 · 0 评论