- 博客(22)
- 收藏
- 关注
原创 数据结构笔记:顺序表
顺序表定义线性表的顺序存储表示(顺序映像)特点:逻辑上相邻的元素,物理次序也相邻 即连续的存储空间顺序表的存储结构#defin MAXSIZE 100 //顺序表可能达到的最大长度typedef struct{ ElemType * elem; //存储空间基地址 int length; //当前长度} SqList;顺序表的基本操作初始化为顺序表L动态分配一个预定义大小的数组空间,使elem指向这段空间的基地址将表长度设为0Status InitList (SqLis
2020-10-24 23:02:32
191
原创 C语言:结构体
结构体为什么需要结构体 为了表示一些复杂的事物,而普通的基本类型无法满足实际要求什么叫结构体 把一些基本类型数据组合在一起形成的一个新的复合数据类型,这个叫做结构体如何定义结构体struct Student{ int age; char name[20]; float score;}; //最后的分号不能省struct Student2{ int age; char name[20]; float score;}str2; //定
2020-09-20 13:11:46
123
原创 Mac上使用malloc函数报错
在mac上写c语言程序,无法使用malloc函数报错出现 fatal error: ‘malloc.h’ file not found解决方法导入 stdlib.h在malloc.h前加上sys/即 #include <sys/malloc.h>便可使用malloc函数
2020-09-16 21:57:19
2085
1
原创 C语言常用printf输出控制符
C语言常用输出控制符控制符%d十进制整数实际长度输出,int类型%ld输出长整数类型,long int%mdm为指定输出字段的宽度,如%5d表示不足5位的以空格补全5位,超过已实际位数输出%c输出字符,char%f输出实数,包括单精度和双精度,以小数形式输出%.mf输出时小数点后保留m位%o以八进制输出%s输出字符串%x(或%X、%#x、%#X)以十六进制输出输出格式printf(“输出控制符”,形参);例:p
2020-09-15 22:00:00
553
原创 C语言:指针3(指针与一维数组)
指针与一维数组一维数组名 一维数组名是个指针常量(不能改变) 存放的是一维数组第一个元素的地址下标和指针的关系 如果p是个指针变量, 则p[i] 永远等价于 *(p+i)理解:定义数组a ,p指向a,则p = a所以a[i] 等价于 p[i] ,表示第(i+1)个元素所以&a[i] = &p[i] = (p+i)所以a[i] = p[i] = *(p+i)确定一个一维数组需要几个参数 【如果一个函数需要处理一个一维数组,则需要接收该数组的哪些信息
2020-09-15 21:38:29
646
原创 C语言:指针2-实现两个数的互换
指针2指针程序:实现两个数的互换主函数int main(void){ int a = 3; int b = 5; swap();//调用函数实现ab的值互换 printf("a= %d,b = %d\n",a,b ); return 0;}第一种void swap(a,b){ int t; t = p; p = q; q = t; return;}不能实现ab的互换,函数接收的是ab的值,在函数内部互换的是形参ab的值,实参不受影响,输出结果
2020-09-15 18:29:51
5494
2
原创 c语言:指针1
指针指针的定义地址 指针就是地址, 地址就是内存单元的编号, 内存单元:将内存分成很多小单元,一个单元占一个字节(八位),即一个编号为8位指针 指针就是地址,地址就是指针 指针变量就是存放内存单元编号的变量,或者说就是存放地址的变量(内存单元编号即为地址) 指针和指针变量是两个不同的概念( 通常将指针变量简称为指针)指针就是一个地址编号,没有具体的操作使用,将指针存放在指针变量中,通常所使用的都是指针变量指针的本质就是一个操作受限的非负整数基本指针类型
2020-09-14 07:35:12
82
原创 数据结构:稀疏数组
稀疏数组对二维数组进行压缩记录二维数组有几行几列,有多少有效数据每个有效数据所在的行列二维数组转换成稀疏数组思路:1. 遍历原始数组,得到的有效数据的个数sum2. 根据sum创建稀疏数组 sparseArray int [sum+1] [3] //sum+1行:第一行存储行列总数,其余sum行存储每个有效数据的位置及数值;共三列:前两列为数据坐标,第三列为数值3. 将二维数组的有效数据存入稀疏数组稀疏数组转换成二维数组思路:1. 根据稀疏数组第一行获取二维数组的行列,创建二维
2020-06-23 21:55:41
97
原创 初学Java:数据库+GUI实现简单登陆注册窗口
初学Java:Java 基础之数据库+GUI实现简单登陆注册窗口 创建登陆注册窗口,实现与数据库之间的链接,将信息存储在数据库包结构dao包中的类为数据库操作类,实现与数据库的连接,model类为实体类,util包中为工具类,连接数据库,view包为界面窗体类源代码DbUtil类package jdbctest.util;import java.sql.Connection;import java.sql.DriverManager;public class DbUtil {
2020-06-14 15:37:06
5465
2
原创 终端常用命令 命令行
常用终端命令序号命令对应英文作用1lslist查看当前文件夹下的内容2pwdprint work directory查看当前所在的文件夹3cd[目录名]change directory切换文件夹4touch[文件名]touch如果文件不存在,创建文件5mkdir[目录名]make directory创建目录6rm[文件名]remove删除指定的文件名7clearclear清屏.表示当前目录…表示上
2020-06-04 22:03:11
387
原创 Java基础:数据库连接 操作 增删改查
Java基础:数据库连接 操作 增删改查创建表在数据库中创建表idea导入jar包官网下载 mysql-connector-java.jar在idea中新建lib包,将mysql-connector-java.jar复制到lib包下代码import java.sql.*;public class test { public static void main(String[] args) throws SQLException, ClassNotFoundException {
2020-06-02 20:54:59
223
转载 MySQL之增删改以及外键作用
MySQL02: DML语言原文链接:公众号狂神说视频教程:狂神说Java外键外键概念如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。外键作用保持数据一致性,完
2020-06-01 20:56:29
232
转载 MySQL之数据库操作
MySQL:数据库操作原文链接:公众号狂神说视频教程:狂神说Java结构化查询语句分类数据库操作命令行操作数据库创建数据库 : create database [if not exists] 数据库名;删除数据库 : drop database [if exists] 数据库名;查看数据库 : show databases;使用数据库 : use 数据库名;对比工具操作数据库学习方法:对照SQLyog工具自动生成的语句学习固定语法中的单词需要记忆创建数据表属于
2020-06-01 20:52:06
230
原创 客制化键盘入坑记
客制化键盘入坑记 配件:pcb、定位板、轴体、键帽、后壳、卫星轴、数据线 工具:电烙铁、螺丝刀第一步 安装卫星轴:卫星轴一般有两种,一种是固定在定位板上的,另一种是固定在pcb上的,我用的是第二种,这种下边有个卡子,直接卡在pcb上就可以,但是卡子可能会非常紧,我按的都怀疑人生了,最后用钳子夹上去的。第二步 定位板:目前定位板钢制的比较多,还有碳纤维的、黄铜的,我用的比较便宜的亚克力板,5mm厚,所以用的固定在pcb上的卫星轴一般用钢制的比较薄,卫星轴可以固定在定位板上。然后将
2020-05-29 19:34:46
781
原创 初学Java:Java基础-多线程(三)生产消费实例
Java基础:多线程(三)生产消费实例 生产线程和消费线程同时随机进行,当仓库满了的时候,生产线程停止生产,当仓库空的时候,消费线程停止消费,一共生产20个产品class SyStack{ private char []data = new char[6];//创建数组当作仓库,容量为6 private int cnt = 0; //仓库里产品的数量 public synchronized void push(char ch){ //仓库满的时候停止生产
2020-05-28 12:14:52
186
原创 Java基础:多线程(二)线程的同步
Java基础:多线程(二)线程的同步卖票程序 四个车站同时卖票,共100张。每个车站买票过程为:判断是否有票,卖出票,总票数减一四个车站为四个线程,分别进行,因为进程是随机切换,如某一进程未执行完毕就切换到下一进程,将会出错。synchronized关键字 线程同步锁 synchronized,可以保证其内部代码块完全执行完毕之后在切换进程语法格式 synchronized(同步锁){ //同步锁可为任意对象 ······//内部代码块 }clas
2020-05-28 10:28:15
156
原创 初学Java:Java基础-多线程(一)
Java基础:多线程(一)认识及创建多线程概念进程进程是程序的一次执行过程–动态的进程持有资源和线程线程一个进程内部可执行多个任务,进程的内部任务称为线程线程的创建继承Thread类步骤定义一个类,继承Thread类重写Thread类中的run()方法实例化Thread子类的对象通过该对象调用start()方法,启动线程class T extends Thread{ @Override //重写父类的run()方法 public vo
2020-05-28 09:49:10
145
原创 初学Java:Java基础-GUI图形用户界面(二)
Java基础 图形用户界面(二)简单的登陆窗口判断用户名及密码是否正确,点击登录按钮实现不同效果代码import java.awt.EventQueue;import javax.swing.*;import javax.swing.border.EmptyBorder;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginFrame extends JFrame
2020-05-27 18:52:32
368
原创 初学Java:Java基础-GUI图形用户界面
Java基础 图形用户界面(一)Java提供了awt和swing包用于GUI(图形用户界面)的开发概念 Java中构成图形用户界面的各种元素称为组件Component;组件分为容器类和非容器类组件组件类(Component):抽象类,组件一般放在某个容器中;组件中不能再放置其他组件容器类(Container):组件类的子类,容器本身也是组件;可在其中放置其他容器或组件容器一定是组件,组件不一定是容器创建窗体JFrame:窗体容器带边框、标题栏、菜单栏和窗口缩放功能按钮的窗
2020-05-26 22:32:57
418
原创 初学Java:Java基础-多态 学习笔记
Java基础-多态概念 顾名思义,多态就是有很多种状态,即某一事物在不同时刻表现出来的不同状态。比如降水,在不同温度下有雨、雪、冰雹等状态,但这都是降水。即同一方法可根据发送对象的不同采用多种方式,这就是多态。 可见不同的状态是有一定联系的,雨、雪、冰雹都可以视为降水的子类,即实现多态的第一个条件:要有继承关系代码class Person{ //创建父类}class Student extends Person{ //创建子类并继承父类}public class Test
2020-05-23 18:18:53
139
原创 初识Markdown,如何写你的第一篇博客
初识Markdown,如何写你的第一篇博客编辑软件为Typora,写markdown的编辑器 将日常学习到的知识、技能记录到自己的博客,既能日后回顾避免遗忘,又能分享给他人,如果你还没有开始写博客,就跟我一起开始写自己的第一篇博客吧 下边是编写markdown常用的基本语法知识,初次使用,了解这几条便可轻松上手,相比长篇的官方文档更容易快速上手标题 在标题前加上#+ 空格为一级标题; 二级标题即## +空格,最高支持六级标题三级标题四级标题字体Hello,World
2020-05-23 13:43:33
145
原创 Java基础:冒泡排序
Java基础:冒泡排序思路比较数组中,两个相邻的元素,如果第一个元素被第二个元素大,则交换二者位置每一次比较都会产生一个最大或最小的数字下一轮则可减少一次排序依次循环直到结束!代码public static int[] sort(int[] array){ //临时变量 int temp = 0; //定义数组 int[]array = new int[5]; //外层循环,判断运行多少次 for(int i = 0;i < array.length;i
2020-05-22 21:50:35
109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人