自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 期末考试编程题目

期末考试代码

2022-06-16 17:18:53 1686

原创 数据结构字符串KMP匹配算法

一、什么是KMP匹配算法?和暴力算法有什么区别?KMP算法是一种高效的匹配算法,牺牲了一定空间去保存NEXT数组,但是能够提升了我们的匹配效率。暴力匹配主串指针需要回溯,KMP算法中主串指针不用回溯;二、next数组是什么?如何实现?当子串和主串不匹配的时候,值对应的索引的字符要移动到跟主串不匹配的字符对齐实现:公共前后缀:前面和后面是一样的;next = 公共前后缀 + 1;三、图示next数组的实现代码实现://next数组获取和输出 int *.

2022-05-16 14:07:38 287 1

原创 数据结构C语言暴力匹配字符串

一、我们的字符串结构体要包括什么?需要一个字符串数组地址和保存字符串长度的变量typedef struct String{ char* data; int len;}STRING;二、任务是什么?初始化字符串暴力匹配三、怎么初始化字符串?初始化字符串就是传进来一个字符串的首地址1.确定字符串结构体的首地址是否为/0,是就free掉2.确定传进来的字符串长度(除去结束的/0长度)3.根据确定的长度是否为0判断字符串结构体应该怎么做 如...

2022-05-13 09:30:44 488 1

原创 C语言快速排序

思路: 快速排序选取第0个元素为val; 通过FaindPos()找到第0个元素按升序排序所在的位置 则val已经在升序后所在位置pos val左边的元素和右边元素按照同样方法排序 FaindPos()函数(升序)思路:(先判断大小,再决定是移到还是赋值) 判断a[high]和val大小 如果a[high]>val,high--; 否则a[low]=a[high] 判断a[low]和val大小 .

2022-05-06 18:13:18 694 1

原创 数据结构(C语言)动态创建二叉树及三种方式输出二叉树

任务:动态创建一个如图所示的树,并且用三种方式(前、中、后序)输出结果;一、节点typedef struct Tree{ int data; struct Tree * plchild;//左指针域 struct Tree * prchild;//右指针域 }TREE,*PTREE;二、动态创建树函数思路: 创建树函数,本质上是递归,返回根节点的地址。 根节的点左树和右树也可以有左树和右树,意味着可以递归使用创建树函数; 如果不需要创建子树,输入

2022-05-06 16:49:29 3220 1

原创 数据结构(C语言)顺序表

一、首先什么是顺序表?顺序表是线性结构,以静态数组为内存的一种存储结构。有三个成员 数组最大长度:max_size 数组目前长度:size 数组名:listtypedef struct{ int list[max_size]; int size;}Sqlist;二、创建代码:void init_list(Sqlist * pL){ pL->size = 0; return;}三、插入指定位

2022-04-28 15:43:10 402 1

原创 数据结构(C语言)汉诺塔问题

伪算法if(n>1){ 把A的n-1个盘子借助C移到B 将A中的第N个盘子直接移到C 将B柱子上的N-1个盘子借助A移到C}代码实现:#include <stdio.h>void hannuota(int n,char A,char B,char C);int main(void){ int n; printf("请输入要移动的盘子数"); scanf("%d",&n); hannuota(n,'A','B','C')..

2022-04-28 09:58:59 1820 1

原创 数据结构(C语言)循环队列

循环队列1.静态队列为什么必须是循环队列因为不是循环队列,f只能增,会浪费存储空间2.循环队列需要几个参数来确定两个参数fontrear3.循环队列各个参数的含义两个参数在不同场合意义不一样1.对列初始化font和rear的值都是02.队列非空font是队列的第一个元素rear是队列的最后一个有效元素3.队列空font和rear值相等,但不一定都是04.循环队列入队和出队的伪算法入队:1.将值存入rear指向的数组2.rear = (rear+1)%数组长度 1.

2022-04-27 16:19:05 2174 2

原创 数据结构(C语言)动态栈的算法实现

首先我们看看什么是栈和动态栈?栈一种可以实现“先进后出”的存储结构;而动态栈是以链表节点为基本单位的;第二,动态空栈应该有什么结构?代码:一个动态栈的结构体需要一个pTop栈顶指针和一个pBottom栈底指针typedef struct Node{ int data; struct Node * pNext;}NODE,* PNODE;typedef struct Stack{ PNODE pTop; PNODE pBottom;}STACK,* PSTACK;.

2022-04-26 17:15:39 1915 1

原创 数据结构(C语言)单链表的几个算法

上篇写道了创建单链表和遍历单链表的实现现在写几个常见的算法实现;主函数代码:#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node{ int data; struct Node * pNext;}NODE,* PNODE;PNODE create_list(void);void traverse_list(PNODE pHead);int..

2022-04-26 11:16:41 1369 1

原创 数据结构(C语言)的单链表的创建和遍历算法实现

思路:两个功能函数的思路创建单链表的功能函数的思路 1.创建一个头节点,并且判断是否成功; 2.当节点数只有头节点的时候,尾节点也是头节点,所以创建一个尾节点 PNODE pTail = pHead; 这个尾节点用来链接后面新的节点的指针域;头节点的指针用来返回; 3.通过循环创建新的节点,都需要判断是否创建成功。每个新节点的数值域赋 临时值val; 链接新的节点和头节点: pTail->pNext = pNew

2022-04-25 15:32:38 1404 1

原创 C语言简易的学生管理系统,输入,按照成绩排序,输出

#include <stdio.h>#include <malloc.h>void IntStudent(struct Student * p,int len);void sort(struct Student *p,int len);void prArr(struct Student *p,int len);struct Student{ int age; char name[20]; int sorce;};int main(void){ int n.

2022-04-22 17:22:32 1505 1

原创 Html的列表和超链接运用

<html> <head> <title>中国梦</title> <meta charset = "ANSI"> </head> <body> <br/> <h1 align = center><b>中国梦</b></h1> <p align = center>< img src = "img/zhong.jpg" wi.

2022-04-18 11:56:42 914

原创 用html语言做简单网页

<html> <head> <title>社会主义核心价值观</title> <meta charset = "ANSI"> <style> .red{ color:red; } </style> </head> <body bgcolor="#CCFFCC"> <br/> <h1 align=center class="red">社.

2022-04-18 11:52:46 1201

原创 Java面向对象的综合训练题目

问题:Account类源码:public class Account { //属性 private double balance;//账户余额 //构造器 public Account(double init_balance) { this.balance = init_balance; } //方法 //查看账号余额 public double getBalance() { return this.balance; } //存钱操作..

2022-03-24 17:38:04 232

原创 用java实现几个简单的递归题目

/* * 递归法: * 方法本身又调用它自己的方法,称为递归法; * 必须向着已知的方向循环; */public class Recursion { public static void main(String[] args) { Recursion re = new Recursion(); //例题1 1到100内数的总和 int value = re.getSum(100); System.out.println(value); //例题2 1到100内数.

2022-03-24 09:22:46 390

原创 加深java类和对象理解的题目

问题:练习3外加找到任意年级的任意成绩,找到返回学号实现功能的类和对象和方法:知识点:创建类(主要包括属性和方法);类中的方法,只有用该类创造的对象才能够调用;实现功能的代码:import java.util.Scanner;public class StudentText { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //创建类..

2022-03-22 17:18:50 563 1

原创 用java实现冒泡排序

/* * 冒泡法排序 * 相邻元素之间比较,较大的和较小的换位置。每结束一趟,就找到一个最大的 * 之后就可以少走一趟; */public class BubbleSort { public static void main(String[] args) { //一个无序的数组 int[] arr = new int[] {-6,-5,-60,-80,90,88,78,66,77}; //排序过程 for(int i = 0;i < arr.length - .

2022-03-22 10:39:14 716

原创 用Java实现二分法查找

/* * 二分法排序的必须是有序的数组 */public class Dichotomy { public static void main(String[] args) { //一个有序的数组 int[] arr = new int[] {-10,-6,-3,0,1,2,3,66,99,100}; int dest = 0;//目标 int head = 0;//指向头元素 int end = arr.length - 1;//指向未元素 boolean is.

2022-03-22 10:21:39 686

原创 用java的二维数组打印任意行数的杨辉三角

import java.util.Scanner;public class YangHui1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请输入你想要打印的杨辉三角的行数:"); int number = scan.nextInt(); //声明二维数组 int[][] yangHui = new int[nu.

2022-03-20 21:15:12 608 1

原创 用java实现一个简单的记账本

/*实现记账收入和支出可以查看记账的结果原来的基础金额是10000元*/主程序代码class FamilyAccount{ public static void main(String[] args){ boolean isFlag = true;//用来退出循环的 double basic = 10000;//基础金额 String details ="收支\t账户金额\t收支金额\t说明";//用于记录收支情况 while(isFlag){

2022-03-17 20:26:35 1891 1

原创 用Java输出任意两个数之间的素数方法2

/* 输出任意两个数之间的素数并统计其个数和所用时间思路二:利用continue的特性来解决 continue是跳出当次循环结构,默认是跳出最近的循环结构体,但是可以通过给外循环插入标签的方法,来之间跳出外循环。*/import java.util.Scanner;class PrimeNumber2{ public static void main(String[] args){ Scanner scan = new Scanner(System.in)...

2022-03-16 20:23:27 2952 2

原创 java8的jdk的下载安装和环境配置

第一步:查看电脑配置,区分自己的电脑配置的64位还是32位的。第二步:登入甲骨文官网,找到下载界面,例如windows10的64位电脑。第三步:注册甲骨文账号,下载并且运行jdk.exe,注意安装的时候最好就是傻瓜式安装在C:\Program Files这个目录中。第四步:配置环境变量新建一个JAVA_HOME环境变量,值设置成箭头所指的值,复制,粘贴即可。在新建一个环境变量path,值设置成箭头所指的值,注意这个值和JAVA_HOME的值只.

2022-03-16 18:46:28 1450

原创 用java实现猜数字游戏

/* 如何和用户进行猜数字(10到99的整数)游戏? 思路: Math类型获得随机数: Math.random() ---> 可以返回一个double类型的随机数且范围为[0,1.0) double nember = Math.random() * 90 + 10; --->获得一个[10,100.0)的随机数number 强制类型转换 int number1 = (int)(Math.random() * 90 + 10); ---&g...

2022-03-16 17:47:39 3249

原创 用Java输出输出素数

/* 输出两个整数范围内的所有素数并且统计个数和所使用的时间 思路: 从2开始,到一个数-1结束,都不能被这个数本身除尽,则是素数; 可以用 isFlag表示是否被除尽,一旦被除尽,就break终止该循环;(优化一) 每找到一个素数后一定要重置isFlag的值进行下一次寻找; 从较小的数开始到较大的数,循环次数是 j * j < i或者j<=Math.sqrt(i);(优化二) 知识点: long start = System....

2022-03-16 17:41:59 3543

原创 用java输出最大公约数和最小公倍数

/* 输入两个整数M,N求出他们的最小公倍数和最大公约数 最大公约数:求出mn的较小的min 当min同时被m,n整除的时候,break; 最小公倍数同理;*/ import java.util.Scanner; class GongYueShu{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); ...

2022-03-16 17:39:26 496

原创 输入年月日,计算该天是当年的第几天?(java)

/* 通过键盘输入年月日,输出该日期是这年的第几天? 思路:通过switch case 来倒着写月份,不要用到break; 注意闰年判断条件;能被4整除,但不能被100整除,或者能被400整除; case 12: sumDays += 30; case 11: sumDays += 31; . . . case 2: ...

2022-03-16 17:36:22 3718

空空如也

空空如也

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

TA关注的人

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