- 博客(39)
- 收藏
- 关注

原创 MYSQL——常用CRUD操作整理 ( 持续跟新中)
目录启动mysql创建数据库创建数据表CRUD操作新增操作查找操作1 查找表的所有数据2 按指定列查找3 包含表达式的查询4 查询字段指令别名5 去重6 单列排序7 多列排序8 条件查询【重中之重】修改操作1 修改表中一条数据启动mysql环境变量没有配置好,就在mysql安装路径的bin目录下:登录mysql :mysql -uroot -p123456 其中 -u 代表用户名; -p 代表密码创建数据库1,创建数据库create database [数据库名];2,查看数据库
2021-08-05 15:54:55
326

原创 【主流技术的了解】
服务器双路服务器:其中的 “路” 都是指 服务器物理CPU的数量, 再直观点就是 服务器主板上有几个CPU插槽 ,有几个就是几路,双路自然指该服务器支持两颗物理CPU。双核服务器:双核服务器是指在一颗物理CPU里装了两个CPU核心。...
2021-08-03 17:27:16
220
原创 CherryTree安装使用文档
CherryTreeA hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single XML or SQLite file.The project home page is giuspen.com/cherrytree.Installation GuideDebian/Linux Mint/UbuntuArch Linux/Manjaro Li
2022-03-09 08:55:58
1423
原创 JDBC实现过程
首先,因为每个数据库厂家都有各自不同的API ,所以,java公司为了方便开发,研究出一套包打天下的适配数据库工具jdbc,方便每个javaer获取数据库的控制。jdbc相当于我们只需要满足这一套编程规则,不同厂家的规约java在内部已经做好了,只要我们提供了url,user,password,还有sql,就会自动为我们转化对应API。package JDBC_test;import com.mysql.cj.jdbc.MysqlDataSource;import javax.sql.DataS
2021-09-07 21:04:19
178
原创 sizeof()与数组名相关的练习
前情提要:sizeof(数组名) 数组名表示数组的大小;sizeof()中只要数组名不单纯以数组名出现,都是代表首元素的地址;形参接收的数组名表示表示数组首元素地址;有了以上要点回顾应该是可以看下面的题了:#include<stdio.h>void main() { int a[] = { 1,2,3,4 }; printf("sizeof(a) 结果是 :%d 字节\n", sizeof(a)); //sizeof(数组名)表示整个数组的大小;传参数组名表示
2021-09-01 15:17:32
181
原创 函数指针数组实现计算器功能-----让switch安心下岗
对于返回值类型一致的函数,可以使用函数指针数组将其功能封装,便于调用。这里重点需要区分函数指针和函数指针数组:int (*p)(int , int ) = add;此为函数指针,指针名去掉和函数定义一致,很好理解int (*p[n])(int , int ) = {add, sub, mul, div}此为函数指针数组,去掉指针名是个函数指针,加上指针名,指针先与[]结合,是个数组,总体看为函数指针数组!#include<stdio.h>int add(int x, int y
2021-09-01 14:43:42
121
原创 数据结构_归并排序
归并算法借用老铁 @玉面小蛟龙 的一张图加以说明将一个数组中的元素平分,如果左右两边都是有序的,那么我们就可以比较大小将其插入一个新的数组空间,形成顺序;但,如何使平分后的元素有序呢?是不是可以一直分,分到一个数的时候,它就是有序的,然后再比较大小,插入新的数组空间去。差不多,就是这么个感觉来吧 一把梭试试看#include<stdio.h>#include<stdlib.h>void MagerSort(int* arr, int n);void Mager
2021-08-20 16:23:57
117
1
原创 数据结构_快速排序
快速排序的核心思想:就是选择一个参考值key(一般是第一个元素),将key通过快速排序逻辑放在一个左边都是比他小的数且右边都是比他大的数的位置上,具体实现思路如下:定义begin和 end 两个哨兵分别在队头和队尾,用 i 和 j 记录头尾移动坐标;i++ 过程中发现比 key大的元素、end-- 过程中发现比key小的元素停下,交换arr[i] arr[j]值,然后继续相向而行;直至 i >= j 停止; 这时 交换 key 和arr[i];此时的key 左边全是比他小的且右边全是比他
2021-08-19 17:24:37
125
1
原创 [数据结构]_堆排序
堆排序过程, 主要分为一下几点:将数组元素理解为完全二叉树结构排列;大堆:根大于左右子树;当整个数所有节点都是大堆结构时,那么arr的0号下标,必然是最大的;如果是升序结构,那么此时交换arr[0]和arr[N], N号位置就可以固定为最大值;此时只需要再计算N-1个元素的大堆,就可以找到第二大数,依此类推,完成排序;那么问题来了,怎样让每个节点都大堆排列呢?首先叶子节点因其没有左右子树,或者说其左右子树为NULL,其本身便是大堆结构;因此,我们需要找到除了叶子节点外的节点;这就需要知道:怎
2021-08-18 19:31:48
91
原创 数据结构_希尔排序(直接插入排序)
希尔排序是在直接插入排序的基础上的一种优化:因为在逆序情况下,直接插入排序每次插入都要比较大小,遍历一边数组元组,复杂度很高;所以针对这种情况,伟大的希尔,提出了将数组每轮元素间隔gap重新分组插入排序,gap越大,逆序情况下,大数据就越快回到数组高位,gap=1时,就是直接插入#include<stdio.h>/*项目需求:对一个数组中的元素进行,插入排序插入排序:插入一个数字,按照大小顺序在整个数组中排序;类似于接牌的过程,按照牌的大小给牌排序,同时牌越来越多,占用的空间也是越来越
2021-08-17 21:51:22
511
1
原创 二叉树的前、中、后序 实现
//2xTree.h#include<stdio.h>#include<stdlib.h>#include<assert.h>struct node { char data; struct node* left; struct node* right;};typedef struct node node;//前序:根->左子树->右子树void prevOrder(node* n);//中序:左子树->根->右子树
2021-08-16 21:30:35
85
原创 数据结构_队列(单链表形式)_C实现
队列:先进先出,队头出相当于头删,队尾出相当于尾插;Queue.h#pragma once#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<stdbool.h>/*队列,先进的先出,尾插头删,因此很适合单链表的优势;所以选择单链表来表达队列;*///定义一个符合队列特点的单链表typedef int QueueDatatype;//定义节点typede.
2021-08-16 16:21:56
102
原创 数据结构_C_数组栈
数组栈,在数组顺序表的基础上,融合栈 头进尾出的特点,即只可以尾插尾删;另外,需要top一个结构体成员来记录栈顶位置,取栈顶元素和插、删数据!Stack.h#pragma once#include<stdio.h>#include<assert.h>#include<stdlib.h>#include<stdbool.h>//栈:数组栈 栈的元素:数据,指针,栈顶;//数组栈->尾插+尾删 ;top从0开始,先赋值后top++;
2021-08-14 22:53:22
76
原创 【数据结构基础题训练】力扣:反转链表_C
主要思路就是记录当下节点,在改变指向的同时,下一步移动的地址也有提前有记录, 避免空指针/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */方法1:改变指针指向struct ListNode* reverseList(struct ListNode* head){ if(head == NULL){ .
2021-08-12 19:27:31
64
原创 C数据结构__顺序表
个人感觉:1.明白指针如何移动以及求取数值;2.realloc的使用规范话不多说,肯定是要对比代码的,直接上干货:seqlist.h#include<stdio.h>#include <string.h>#include <stdlib.h> #include<assert.h>typedef int seqdatatype;//定义顺序表typedef struct seqlist{ //指针 seqdatatype* p;.
2021-08-10 17:32:55
83
原创 C语言中“整型提升“,“截断“,“大小端“等问题具体分析
明确一下前序知识点:1.内存中存放的是转化为二进制形式的补码2.正数远反补一致3.负数的补码 = 原码取反 再+14.%d -> 打印有符号数5.%u -> 打印无符号数6.基本类型转换, 当 if(int a > unsigned int b) ,int会转换为unsigned int7.小端存储模式 : 数值地位,存放至地址低位;8.大端存储模式 : 数值高位,存放再地址低位;1.以一个简单的例子来展开讨论:#include<stdio.h>i.
2021-08-09 14:51:29
598
原创 为数组中奇数和偶数划分楚河汉界
本人学习C语言几个月以来的第一次自主研发,此文仅记录次过程题目具体要求如下;输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#include<stdio.h>int* fun(int* arr, int sz);void main() { int* ret = NULL; int arr[5] = {7,8,2,1,5}; int sz = sizeof(arr) / sizeof(a.
2021-08-04 15:09:09
277
原创 C_代码调试的奇赢巧计
调试其实就是如果使用vs这个工具,来对编码过程中的一些人工非技术错误、代码运行逻辑合理合法性进行判断。如果使用呢,结合一个案例来进行说明吧:#include<stdio.h>int main() { int i = 0; int arr[10] = { 0,1,2,3,4,5,6,7,8,9 }; for (i = 0; i <= 12 ; i++) { arr[i] = 0; printf("开始DEBUG调试\n"); }}在没有调试之前,结合我.
2021-08-03 16:24:13
147
原创 喝汽水问题
问题描述:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水(编程实现)。主要的难点在于,喝完的空瓶还可以接着兑换,兑换的变成空瓶又可以接着兑换,以及结束这种循环的条件!#include<stdio.h>void main(){ //20元可以一次性购买汽水,同时产生20个空瓶 //这20个空瓶可以兑换汽水的同时 又会产生新的空瓶,形成循环 //循环在空瓶不足2时结束! 不足2 跳出循环 //还有一个问题就是5个瓶子,只能换2瓶汽水,剩一个瓶子,但是2瓶.
2021-08-03 09:04:36
98
原创 求取斐波那契数列的第N个元素
何为斐波那契数列呢形如01234567801123581321用公式来表示就是F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n ≥ 2,n ∈ N)从公式可以看出来,求第N的元素,就需要知道第N-1、N-2个元素的值,而求第N-1、N-2的方法与求第N个元素的方法相同,套用同样的方法这就是递归的特征,且N逐渐趋于0,是收敛的,因此,可以选用递归的方法来处理。/*F(0)=0,F(1)=1, F(n)=F(n-1)+.
2021-08-02 17:30:45
292
原创 求素数的方法
素数:只可以被1和它自身整数的数,又名质数。那么很容易就可以想到,用 2 ~ (n-1) 的数来%n这个数,如果结果为 0,则出现了第三个可以被整除的数,那么 n 就不是质数!#include<stdio.h>void main() { int input = 0; printf("Please enter a number:\n"); scanf_s("%d",&input); for (int i = 2; i <= input; i++) { if .
2021-08-02 15:43:18
131
原创 [总结]——C指针的知识点(持续更新)
指针变量大小:不管什么指针类型,其都是保存32个比特位的二进制数的0 1组合结果,因此,小大为32位系统4字节,64位系统8字节!指针变量的类型 反映的是其解引用后可以一次访问的字节个数(访问内存的大小)! char* 指针一次访问一个字节,int* 指针一次访问四个字节!指针类型决定了(指针+1)操作时 可以跳过几个字节!...
2021-08-01 15:57:10
151
原创 C语言中的操作符
关于C语言操作符的小小总结移位操作符位操作符sizeof和数组逗号表达式移位操作符左移:形式为 <<右移:形式为 >>#include<stdio.h>void main() { int a = 3; // 0011 int b = a << 1; //0110 printf("%d" , b);}可以看到左移,是在二进制数的基础上进行的;而结果显示的是十进制,这一点不要忽略;同时,需要明确:左移操作符:左边抛弃、右边补0
2021-07-29 23:21:09
85
原创 [项目]——C语言实现扫雷
核心思想就是,雷的分布看作是“答案”,落子的棋盘看作是“考卷”;答卷的同时,需要去对一下“答案”,这个位置有没有雷,有则BOOM!无则判断周围9宫格的雷的数量,返回这个字符打印至“考卷”上!同时,为了防止数组越界,保证每一个格子都有九宫格,需要在行与列均多加2;最后,判断输赢的标准:总格子数量-雷数 = 落子次数,即可判定胜利!下面为测试模块:#include"game.h"void meau() { printf("****************************\n"); .
2021-07-28 21:27:46
88
原创 [项目]——C语言实现三子棋
代码分为三部分:test->程序测试模块;game->为游戏业务逻辑部分棋盘是以二维数组为载体来实现的,通过数组元素来记录落子信息;首先要对棋盘初始化,将数组元素置为‘ ’;打印棋盘 ,查看棋盘结构;玩家落子:考察坐标合法性;有无已有棋子;判断胜负:行3列3对角线三个条件可判断胜负,并且返回当前落子符号作为判断玩家赢还是电脑赢的条件;同时,遍历数组寻找有无‘ ’,有则继续对局,否则返回Q表示平局;电脑落子:采用随机落子,同时判断落子坐标范围与是否所选坐标已有棋子,对坐标进行合法.
2021-07-28 14:54:33
65
原创 用递归的方式实现Strlen功能
分析:strlen可计算字符串包含元素个数,其计算过程中判断是否遍历过\0,并在遍历时计数,直至遍历至\0退出;而数组是连续的内存地址,可以判断当前地址元素是否等于\0,以此作为结束递归的条件;并且,每循环一次,指针地址+1;直至指向\0退出循环。那么走的每一步都是包含元素的数量累加。最后,所有累加结果即 包含元素的个数。下面先来看常规做法:#include<stdio.h>非递归方法int fun(char* s);void main() { char arr[10] .
2021-07-23 16:18:16
698
2
原创 递归方式实现打印一个整数的每一位
题目要求:输入1234 打印1 2 3 4这里需要明确一下递归的条件:1.有终止递归的条件; 2.循环逐渐趋于终止条件;#include<stdio.h>//递归方式实现打印一个整数的每一位// 1234 -> 1 2 3 4 //分析:1234可以%10 得到末位 4 和123;同样 123 也可以%10 得到3 ;12 %10得到 2 ;1%10得到 1 ;//同样的方法一直再被调用,并且逐渐趋于终止,满足递归的思想;void solute(int a) { i.
2021-07-23 15:01:27
1447
原创 Idea中创建JAVA-WEB项目
首先,Idea必须是IU版本而不是社区版本,具体的破解过程这里不赘述,下面以2017版本的Idea为范例,开始创建WEB项目[1] 创建工程[2] 完善内容再WEB-INF下添加lib目录,并为其绑定依赖关系点击+号后:设置编码格式和自动编译设置Tomcat容器这时候,就可以启动Tomcat Server如果可以访问localhost 就说明WEB项目配置ok了可以开始下一步的业务逻辑了...
2021-07-21 21:15:17
178
1
原创 Java实现顺序表
Java实现顺序表的增删改查等基本功能顺序表就是一个数组,需要对数组,容量,下标进行定义package demo0721;import java.util.Arrays;/** * 顺序表 */public class ArrayList { /** * 定义顺序表的属性和构造方法 */ public int[] arr; public final int capatity = 10; public int size; pu
2021-07-21 16:09:09
43
原创 双向链表的基础增删改查
Java中双向链表的基础功能实现首先定义节点,双向链表和单向链表相比多了 前区部分:用来记录往回走的节点位置; /** * 定义双向链表的实体类 */ class Node { public int data; public Node next; public Node prev; public Node(int data) { this.data = data;
2021-07-21 09:02:18
68
原创 回文链表的求取
回文链表什么是回文链表:形如 1->2->3->2->1的结构便是回文结构这里用到了单链表的中位节点的求取、反转、寻找回文循环终止条件等内容:上代码package demo0716;public class Single_Node { Node head = null; /** * 单链表 节点 实体类定义 */ class Node { //属性 public int data;
2021-07-16 20:28:09
56
原创 单链表——删除重复的相邻元素
学习单链表的使用此处用到空节点,作为一种提取所用节点,区别废节点的工具,可以按照条件筛选节点。头节点作为一个链表的基准,很多时候不好先对头动手,此时如果可以另外选择一个空基准的话,不失为一个好的选择,这个举例在此处可能不太合理,哈哈哈package demo0716;public class Single_Node { Node head = null; /** * 单链表 节点 实体类定义 */ class Node { //属性
2021-07-16 16:30:07
265
原创 单链表——以node.data=x 为基准,按照原来顺序对小于x和大于等于x的数重新划分,并且小于x的排在大于之前;
单链表如何实现重新排序重新定义两个链表,分别定义两个节点(start1,end1),(start2,end2) 表示小于 和大于等于x的节点;这里采用尾插法对 cur.data<x 的节点在 1或2 链表中继续存放最后:通过end1.next = start2; 将两个排序后链表进行组合;并返回一个start1;同时记得将 end2.next=null;否则链表将无限循环下去;上代码: /** * 链表的分割 ,选定一个X=node.data 作为基准,小于x的按照顺序排
2021-07-15 21:02:39
327
原创 求单链表倒数第K个节点
一言不合继续上代码/** * 输出链表中倒数地K个节点的内容 * @param * @return */ public Node point(int k) { Node slow = this.head; Node fast = this.head; if (k<=0) { System.out.println("K取值不合法!!!"); return .
2021-07-15 17:30:59
83
原创 求链表中的中间节点
通过定义两个节点,遍历速度设置为 Fast/Slow=2;这样待Fast遍历结束时,Slow刚好为单链表的终点;循环条件来源:当链表节点为奇数,Fast在最后一个节点时,Slow为中点,这时Fast.next为null;当链表节点为偶数时,Fast是会空指针,即Fast !=null为终止循环条件;两种条件必须同时满足。public Node MidNode() { Node cur = this.head; Node cur2 = this.head; .
2021-07-15 16:17:14
74
原创 单链表——反转(1)
单链表的反转一言不合先上代码package demo0715;//定义节点class Node { public int data; public Node next; public Node(int data) { this.data = data; this.next = null; }}//业务逻辑public class ReLinkList { public Node head; Node new.
2021-07-15 15:19:26
75
原创 链表的简单使用
简单粗暴,稍微记录一下,就上代码了链表每一个节点包含数值域和下一个节点的地址;因此这就是其两个成员属性,将一个一个节点串起来,便形成了链表,这里是没有固定头的单链表。package demo;/** * 每一个节点都是对象,都包含两个属性:数据和下一个节点的位置 */public class Node { public int data; public Node next; public Node (int data){ this.data=data;
2021-07-15 09:19:34
142
原创 C语言的指针(1)
C语言的指针(1)指针的由来内存地址的定义类似去快递点取快递,需要地址和取件码并得到快递员的确认才可以拿到需要的物品,当想要在内存中拿到你想要的变量值时,便需要得到存放此变量的**内存地址**;那么何为内存地址?抽象化的可以理解为:内存按照大小可以划分为一个又一个的单元格,对,就像Excel里的单元格一样,他们大小相同,按照顺序排列,(老师是这里抽象化的)32位系统的一个内存单元为4字节,64位系统的单元内存8字节;就在这样的“单元楼”内,存在着32跟地址线,(这里以32位系统为例),以其正电负
2021-06-11 08:54:19
137
原创 JDBC工具类的制作---复刻至com.itheima
JDBC工具类的制作---复刻至com.itheima 1.jdbc工具类的制作 需要用到properties文件 文件中的驱动包需要手动导入至lib目录:至此准备措施已经就位,可以编写jbdc工具类的主代码了:public class jdbc_util { private static String url; private static String user; private static String password...
2021-05-18 22:27:24
361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人