自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (4)
  • 问答 (7)
  • 收藏
  • 关注

原创 二级指针的初级理解

单链表初始化不一定非要用二级指针实现。

2022-12-10 23:14:34 147 1

原创 朴素矩阵乘法

朴素矩阵乘法package temp;import java.util.Arrays;import java.util.Scanner;public class temp { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.println("please input matrix's row:"); int ro

2022-01-09 19:19:36 304

原创 一个简单的整数栈类

实现一个简单的StackOfIntegers程序。package temp;class stack{ private int element[];//用数组来定义栈空间 private int size = 0;//定义栈中元素的个数 public static final int defaultCapacity = 10; //构造函数 public stack(){ this(defaultCapacity); } public

2022-01-08 22:13:29 724

原创 输出前50个素数

public class yearmonth{ /****************************** 素数也叫质数,是指除了1和本身外无其他因子的数 根据素数定义:对于大于1的数n,若在[2,n-1]范围内没有因子,则n是素数。反之,n不是素数。 根据数学定律:若一个数n在[2,sqrt(n)]范围内无因子,则该数为素数,否则不是素数。 */ public static void main(String[] args){ //

2022-01-01 17:15:02 1147

原创 三种方法求最大公约数

import java.util.Scanner;public class yearmonth{ public static void main(String[] args){ //求最大公约数 int num1,num2; Scanner input = new Scanner(System.in); System.out.println("please input two numbers"); num1 = i

2022-01-01 14:52:40 187

原创 java跳出多层循环

一般我们在C程序中想要跳出多层for循环的时候,一般是使用标志flag,也可以使用goto语句(不建议使用)。但是在java程序中,提供了一种语句:break label; 可以直接实现跳出标签为label的for循环。public class yearmonth{ public static void main(String[] args){ start: for(int i = 0;i < 3;i ++){ for

2022-01-01 13:54:47 351

原创 为什么Math类不需要import

有三种包在JVM运行时会自动被导入:当前主类所在的包java.lang包没有名字的包Math类位于java.lang包中,属于情况2,因此不需要导入。自定义的类如果和当前主类位于同一个包下,属于情况1,也无需导入。...

2022-01-01 13:12:43 1848

原创 调用System.currentTimeMillis()显示当前时间

package Hello;import java.text.SimpleDateFormat;import java.util.Date;public class Hello { public static void main(String[] args){ Date nowTime = new Date(System.currentTimeMillis()); SimpleDateFormat sdFormatter = new SimpleDateForm

2021-12-31 16:34:46 368

原创 -128的补码

-128的补码,是1000 0000?求解过程:1 0000 0000- 1000 0000——————————1000 0000所以,-128的补码就是1000 0000.那么,为什么要这样计算,而不用我们熟悉的反码加一呢?首先,我们要知道,学术问题一般总是要到最根本的定义上去了解问题的本质。所以,请回答:补码的定义是什么?答:正数不变,负数即用模减去绝对值。这里涉及到模的概念,那么模又是什么呢?“模”是指一个计量系统的计数范围。计算机也可以看成一个计量机器,因为计算机的

2021-04-04 22:00:15 8636 3

原创 内联函数

内联函数使用内联函数的目的是C++编译器有时为了减少正常函数调用的开销,而直接应用函数体的编译代码代替函数调用,这称为函数体的内联扩展。它不影响函数名或其参数的作用域。内联扩展是对编译器的请求,而不是命令,所以最后由编译器自行决定是否真的进行扩展。注意:在选择使用内联函数时,必须在程序占用空间和程序执行效率之间进行权衡,因为过多的比较复杂的函数进行内联扩展将带来很大的存储资源开支。另外还需要特别注意的是对递归函数的内联扩展可能引起部分编译器的无穷编译。用法:内联函数是在函数原型的前面加上inlin

2021-04-04 19:48:42 142

原创 第六章 树和二叉树(6.3.1、6.3.2)

6.3 二叉树的遍历和线索化1、二叉树的遍历按对根的访问顺序不同,分为先序遍历,中序遍历,后序遍历。先序遍历操作若二叉树为空,则为空操作,否则依次执行如下三个操作:访问根结点按先序遍历左子树按先序遍历右子树中序遍历操作若二叉树为空,则为空操作,否则依次执行如下三个操作:按先序遍历左子树访问根结点按先序遍历右子树后序遍历操作若二叉树为空,则为空操作,否则依次执行如下三个操作:按先序遍历左子树按先序遍历右子树访问根结点...

2021-03-07 11:32:02 200 1

原创 第六章 树和二叉树(6.1、6.2)

6.1 树的基本概念**树的基本概念:**每棵子树的根结点有且仅有一个直接前驱,但有零个或多个直接后继。树的相关术语:结点:包括一个数据元素及若干指向其他结点的分支信息。结点的度:一个结点的子树个数称为此结点的度。叶结点:度为零的结点,即无后继的结点,也称为终端结点。分支结点:度不为零的结点,也称为非终端结点。结点的层次:从根结点开始定义,根结点的层次为1,根的直接后继的层次为2,以此类推。结点的层序编号:将树中的结点按从上层到下层、同层从左到右的次序排成一个线性序列,依次给他们编以连续的自

2021-03-03 23:31:35 263

原创 求解活动安排问题

问题描述:假设有一个需要使用某一资源的由n个活动所组成的集合S,S=(1,…,n)。该资源在任何时刻只能被一个活动所占用,活动i有一个开始时间bi和结束时间ei(bi<ei),其执行时间为ei-bi,假设最早活动执行时间为0。一旦某个活动开始执行,就不能被打断,直到其执行完毕。若活动i和活动j有bi≥ej或bj≥ei,则称这两个活动兼容。设计一种最优活动安排方案,使得所有安排的活动个数最多。问题求解:采用贪心算法的策略是每一步总是选择这样一个活动来占用资源,它能够使得余下的未调度的时间最大化,使

2020-11-16 20:19:16 2134

原创 求第k小数(快排)noj

#include <iostream> using namespace std; int n,k;int a[10000]; int findk(int st,int ed, int k); int main(){ cin>>n; for(int i=0; i<n; i++) { cin>>a[i]; } cin>>k; cout<<findk(0, n.

2020-11-01 17:31:24 182

原创 循环赛日程表(分治)noj

#include<iostream>using namespace std;int n;int a[10000][10000];void search(int st,int length);//分治void filltable(int st,int length);//对角填充 左上填右下 左下填右上 int main(){ int i,j,length; cin>>n; length=1; for(i=0;i<n;i++) { lengt.

2020-11-01 17:11:47 242

原创 穷举n位二进制数(深搜)noj

#include<iostream>using namespace std;int n;int a[20];void dfs(int m);int main() { cin>>n; dfs(0); return 0;}void dfs(int m){ int i; if(m==n) { for(i=0;i<m;i++) cout<<a[i]; cout<<endl; } else {.

2020-11-01 16:14:16 188

原创 走迷宫(深搜)noj

#include<iostream>using namespace std;int m,n;int sx,sy;int tx,ty;int maze[20][20];int walk[4][2]={ -1,0,//左 0,1,//上 0,-1,//下 1,0,//右 }; void dfs(int x,int y);bool canmoveto(int x,int y,int i);int main(){ int i,j; cin>&.

2020-10-31 23:00:59 274

原创 八数码问题(广搜)noj

Picture1Picture2Picture3Picture4Picture5#include<iostream>#include<map>#include<queue>using namespace std;map<int, int>smap; //记录步数和标记是否是已到达的结点。queue<int>q1; int bs[3][3],a[3][3];int isdate;//0, 1, 2, 3分别

2020-10-31 22:19:36 355

原创 独轮车(广搜)noj

#include <iostream>#include <queue>using namespace std;int sx,sy;char sc,sd;int tx,ty;char tc;char maze[20][20];struct node{ int x; int y; int color; //颜色,0-R-红,1-Y-黄,2-B-蓝,3-W-白,4-G-绿 int dire; //方向:0-E-东,1-S-南,...

2020-10-31 20:11:14 336

原创 六数码问题(广搜)noj

在C语言中,或更精确地说成C标准函数库中表示文件结束符。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。而cin是C++ 中的标准输入流。https:/..

2020-10-31 15:16:17 444

原创 电子老鼠闯迷宫(广搜)noj

#include<iostream>#include<queue>using namespace std;#define true 1#define false 0#define MAXN 1000char maze[12][12];//游戏背景图int used[MAXN][MAXN];//记录某点是否走过int step[MAXN][MAXN];//记录走过的步数struct node{ int x; int y;};node star..

2020-10-25 15:28:04 1120 4

原创 加1乘2平方(广搜)noj

#include<iostream>#include<queue>#include<string.h>#define MAXN 10000#define true 1#define false 0using namespace std;queue<int>q1;int m,n;int used[MAXN];int step[MAXN];int dfs();int change(int now,int i);int isTarge..

2020-10-25 15:01:24 332

原创 图的m着色问题noj

#include<stdio.h>#include<string.h>#define MAXN 1000#define true 1#define false 0int n,r,m;//n个顶点,r条边,m种颜色int a[MAXN][MAXN];//邻接矩阵int count=0;//累计解的个数int x[MAXN];//x[i]表示顶点i的着色void dfs(int i);int Same(int i);int main(){ int .

2020-10-24 20:50:32 224

原创 图的m着色问题

/*给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的。图的m着色问题是对于给定图G和m种颜色,找出所有不同的着色法。*/#include<stdio.h>#include<string.h>#define MAXN 100#define true 1#define false 0int n,k,m;//n个顶点,k条边,m种颜色int a[MAXN][MAX

2020-10-24 20:14:33 562

原创 n皇后问题

从中总结出n皇后求解的规则:①用数组q[]存放皇后的位置,q[k]表示第k个皇后放置的位置,n皇后问题的一个解是: q[1],q[2],…,q[n],数组q的下标0元素不用。②先放置第1个皇后,然后依2、3、…、n的次序放置其他皇后,当第n个皇后放置好后产生一个解。为了找所有解,此时算法还不能结束,继续试探第n个皇后的下一个位置。③第k(k<n)个皇后放置后,接着放置第k+1个皇后,在试探第k+1个皇后的位置时,都是从第1列开始的。④当第k个皇后试探了所有列都不能放置时,则回溯到第k-1个皇.

2020-10-24 18:58:32 394

原创 codeblocks运行时汉字变乱码

settings->compiler settings在other resource compiler options 中添加:-finput-charset=WINDOWS-936-fexec-charset=GBK即可。

2020-10-24 17:33:30 883

原创 求解装载问题(深搜)noj

1、求解简单装载问题#include<stdio.h>#include<string.h>#define MAXN 50int W;//载重量为Wint n;//n个集装箱int w[MAXN];int X[MAXN];//存放最优解int maxw=0;void dfs(int i,int tw,int rw,int op[]);void output();//i表示第i个集装箱,tw表示选择的集装箱的重量和,rw表示剩余集装箱的重量和//op表示一个方

2020-10-24 17:28:10 1845

原创 Data_structure_book上的一些例题

例题1://通过键盘输入一组多项式的系数和指数,用尾插法建立一元多项式的链表。//以输入系数为0为结束标志,并约定建立多项式链表时,总是按指数从小到大的顺序排列#include<stdio.h>#include<stdlib.h>typedef struct Polynode{ int coef; int exp; struct Polynode *next;}Polynode,*PolyList;void input(PolyList L

2020-10-20 18:05:41 334

原创 穷举所有排列noj

#include<iostream>#define MAXN 10using namespace std;void swap(char &x,char &y);void dispasolution(char a[],int n);void dfs(char a[],int n,int i);int main(){ char a[MAXN]; int n; int i; cin>>n; for(i=0;i&lt.

2020-10-16 19:24:35 298

原创 素数环问题

#include<iostream>#include<stdlib.h>#define FALSE 0#define TRUE 1using namespace std;int g_a[21]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};int isprime(int x);void set(int place);void output();void swap(int place,int i);

2020-10-09 21:12:33 942

原创 求解0/1背包问题(深搜)noj

装入背包中物品重量和恰好为W#include<stdio.h>#define MAXN 20int W=6;int n=4;//4种物品int w[]={0,5,3,2,1};int v[]={0,4,4,3,1};int X[MAXN];int max=0;void dfs(int i,int tw,int tv,int *op);void Output();int main(){ int op[MAXN]; dfs(1,0,0,op); Out

2020-10-08 22:11:24 474

原创 计算a的全排列(解空间为排列树)

#include<iostream>using namespace std;void swap(int &x,int &y);void dispasolution(int a[],int n);void dfs(int a[],int n,int i);int main(){ int a[]={1,2,3}; int n=sizeof(a)/sizeof(a[0]); cout<<"a的全排列"<<endl;

2020-10-08 20:09:57 1044 3

原创 产生值100(递归回溯法)

设计一个算法在1、2、…、9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1+2+34-5+67-8+9=100#include<stdio.h>#include<string.h>#define N 9void AddFun(char *op,int sum,int prevadd,int *a,int i);int main(){ int a[N]; int i; char op[N]

2020-10-08 19:50:27 318

原创 求一个集合的幂集(递归回溯法)

#include<stdio.h>#include<string.h>#define MAXN 100void dfs(int *a,int n,int i,int *x);void Output(int *a,int n,int *x);int main(){ int a[]={1,2,3}; int n=sizeof(a)/sizeof(a[0]); int x[MAXN]; memset(x,0,sizeof(x)); pr

2020-10-08 16:36:08 1073

原创 象棋算式

1、非递归回溯法#include<stdio.h>#include<string.h>int main(){ bool dig[10]; int a,b,c,d,e,m,n,s; memset(dig,0,sizeof(dig)); for(a=1;a<=9;a++){//兵 dig[a]=1; for(b=0;b<=9;b++){//炮 if(!dig[b]){

2020-10-08 16:23:16 339

原创 快速排序noj

#include<stdio.h>#define MAXSIZE 10000void QuickSort(int a[],int lo,int hi);int Partition(int a[],int lo,int hi);void swap(int a[],int b,int c);void Output(int a[],int n);int main(){ int n;//输入元素的个数 int a[MAXSIZE]; int i; sc..

2020-10-08 13:40:03 363

原创 归并排序noj

#include<stdio.h>#include<malloc.h>#define MAXSIZE 10000void MergeSort1(int a[],int n);void MergePass(int a[],int length,int n);void Merge(int *a,int low,int mid,int high);void output(int a[],int n);int main(){ int a[MAXSIZE]; .

2020-10-08 13:35:12 249

原创 二分查找noj

#include<stdio.h>#define MAXSIZE 50000#define TRUE 1#define FALSE 0int Search(int *a,int low,int high,int b);int main(){ int n; int i=0; int a[MAXSIZE],b[MAXSIZE]; int m,t; scanf("%d",&n); for(i=0;i<n;i++){ .

2020-10-08 13:24:38 350

原创 计算机中的数字表示(基础认知)

1.2信息的表示和存储1.2.1计算机的数字系统每一种数制都有固定的基本符号(称为数码),处于不同位置的数码所代表的值是不同的。在数字系统中,用r个基本符号(0,1,2,…,r-1)表示数值,称其为r进制数,r称为该进制的基数,而数制中每个位置对应的单位值称为位权。1.2.2进位计数制的转换十进制数转换成r进制数由于整数和小数的转换方法不同,将十进制数转换为r进制数时,可分别按整数部分和小数部分转换,然后将结果加起来即可。(1) 十进制整数转化为r进制数总结来说,十进制整数转化为r进制

2020-09-27 00:31:47 2613

原创 计算机系统和工作原理

1.1.1计算机系统的组成冯*诺伊曼计算机组成部分:输入设备、运算器、控制器、存储器、输出设备;计算机在工作过程中有两种信息在流动:数据流、控制流;1、 输入设备;用来接收用户输入的程序和数据信息,将它们转换为计算机可以处理的二进制形式数据存放到内存中;2、 存储器;通常分为内存储器和外存储器,内存储器简称内存或主存,用来存放执行的程序及其数据。存储容量是指存储器中最多可以存放二进制数据的总和,其基本单位是字节(byte),每个字节包含8个二进制位(bit)。3、 运算器;又称算术逻辑单元

2020-09-27 00:28:02 364

linux运行,编译原理实验作业

linux运行,编译原理实验作业

2022-06-17

八数码问题源码,包含运算输出过程

八数码问题源码,包含运算输出过程

2022-03-12

人工智能实验,八数码问题

人工智能实验,八数码问题

2022-03-12

保卫大雁塔——好玩的很

仅一个主程序,好玩

2022-03-12

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

TA关注的人

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