- 博客(32)
- 收藏
- 关注
原创 error: ‘for‘ loop initial declarations are only allowed in C99 or C11 mode
for循环中定义变量报错
2023-11-24 09:18:25
10183
原创 数据库表的增删改查
对于数据库来说,最常使用的操作差不多就是增删改查这四个操作了。今天就整理一下放在博客上,需要的时候可以随时查看。所用到的表如下:学生表:Student(Sno,Sname,Ssex,Sage,Sdept),分别代表学号、姓名、性别、年龄、系别课程表:Course(Cno,Cname,Cpno,Ccredit),分别代表课程号、课程名、该课程的先行课、学分学生选课表:SC(Sno,Cn...
2019-07-24 10:23:46
496
原创 数据库单表查询
数据库单表查询:1. 选择表中的若干列2. 选择表中的若干元组3. 对查询结果排序4. 使用集函数5. 对查询结果分组1.选择表中若干列例1、查询全体学生的详细记录SELECT Sno,Sname,Ssex,Sage,SdeptFROM Student;或SELECT *FROM Student;例二、查询选修了课程的学号SELECT DISTINCT Sno...
2019-07-24 10:17:13
476
原创 数据库系统的基本概念
数据数据库数据库模式数据库管理系统数据库系统 1.数据 数据是数据库存储的基本对象。数据的定义:人们用来反映客观世界而记录下来的可以鉴别的符号。数据的特点:数据与其语义是不可分的。 如:93是一个数据 语义一:这个数据卡伊代表某个人成绩 语义二:代表某个人的体重 2.数据库 数据库的定义:数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。 数据库...
2019-07-23 17:35:09
1875
原创 函数实参计算顺序
今天在网上看到一道选择题有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));此语句的实参数为(?)A、3 B、4 C、5 D、有语法错误根据这道题,我今天想记录两个知识点:一、逗号表达式(或者称逗号运算符),二、函数实参计算顺序逗号表达式最右边的(rec4,rec5)是逗号表达式,只能算作一个参数,其值为rec5。关于逗号运...
2019-07-18 23:43:35
1847
原创 计算机考研
最近看到有同学对计算机考研有一些疑问,今天抽空来写一写自己关于考研的了解以及看法。当然这里不是说考研好不好,毕竟每个人看法都不一样,我要说的看法是关于考研决心与复习方式的看法。一、确定学校 个人认为考研首先要确定学校,因为现在考研自主命题的学校越来越多,不先确定学校的话,很难进行专业课的复习,尤其计算机考研,大部分自主命题的学校考的内容都不一样,所以事先确定学校能够省去很多无用功。二、...
2019-07-18 17:09:24
530
原创 Thinking in Java之吸血鬼数字
今天学习了Java的流程控制的内容,基本与C语言一样,只不过是Java多了foreach语句的一种用法,相对于C语言来说方便了很多。看了最后一道习题,是关于吸血鬼数字的,比较感兴趣于是就写了代码。但是我这个属于暴力求解,复杂度很高,不知道有没有更简单一点的方法,有待以后改进。 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中...
2019-05-03 18:34:33
231
原创 串的模式匹配算法:KMP算法
串的模式匹配即子串定位是一种重要的串运算。设s和t是给定的两个串,在主串s中找到等于子串t的过程称为模式匹配,如果找到,则称匹配成功,函数返回t在s中的首次出现的存储位置(或序号),否则匹配失败,返回-1。t也称为模式。串的模式匹配有两种算法:简单的模式匹配算法KMP算法简单的模式匹配算法: 算法思想:首先将s1与t1进行比较,若不同,就将s2与t1进行比较,…,直到si和t1...
2019-04-23 12:04:25
1578
原创 Java之static关键字
搁置了好久的Java学习计划终于重新开始。一直以来感觉自己都是在重复“Java之从入门到放弃”,感觉已经没有什么能够拯救自己了,真的每次都是学习一个开始,然后就没有然后了。最近在知乎上看到一篇很有启发性的文章,突然觉醒,于是觉得继续我的“Java从入门到放弃”之路,至于这次能坚持多久才放弃,我也不敢保证,尽最大努力做到最好吧!不要求自己每天进步的有多快,但求坚持每天进步一点点。 今天先从最...
2019-04-22 12:13:25
159
原创 面向对象的三大特性
编程语言分为面向对象和面向过程,之前一直用的C语言是面向过程的语言,最近突然想复习一下面向对象的内容(几乎算是重新学习了,之前学的东西由于长时间不用,已经差不多全都还给老师了),然后找了一本书来看,《Java编程思想》是之前买了打算好好学习的,结果看了两页就荒废了,时隔两年重新拿起来开始学习,当然是从最基础的开始学习。 面向对象的三大特性:封装、继承、多态。其实我现在能够记住的只有前面那一...
2019-04-01 16:16:28
171
原创 排序算法小结
内部排序算法性能小结 内部排序按排序过程中依据的不同原则,则大致可分为:插入排序:从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列中的正确位置上的排序方法。交换排序:当每两个元素比较出现逆序时,就相互交换位置的排序方法。选择排序:从未排序序列中挑选元素,并将其放入已排序序列的一端的方法。归并排序:依次将每两个相邻的有序表合并成一个有序表的排序方法。基数排序...
2019-02-20 11:38:58
371
原创 归并排序--C语言
今天写的是归并排序,归并排序的定义为:依次将每两个相邻的有序表合并成一个有序表的排序方法。最经常使用的归并方法是2-路归并。假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到⎡n/2⎤个长度为2或1的有序子序列;再两两归并,……,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2-路归并排序。今天的算法代码就是按照2-路归并排序的思想写...
2019-02-19 18:08:58
404
原创 Linux文件权限修改
今天在学习关于Linux的基础知识,看到关于文件权限的知识,突然想到当时上学的时候在课堂上老师也讲过关于文件权限查看和文件权限修改的命令,但是现在基本不记得多少内容了,全都还给老师了。现在想想,当时如果能够及时的记录下来,现在再次想要看也不至于这么费劲。我是找了当时讲课的课件看了一下,再结合网上的一些知识才又一次学习一下。虽然当时也有笔记,但是当时不是以博客的形式,而是以纸质笔记本的形式,可是...
2019-02-18 17:45:10
279
原创 堆排序--C语言
昨天写了选择排序中的简单选择排序,今天把另一种选择排序算法–堆排序写一下。以前一直对堆排序有所误解,现在再次去学习才知当日只是明白了调整堆的算法,而不知道实际具体的排序,现在想来还是当时对自己太仁慈的缘故。 将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(大)值后,使剩余的n-1个元素重新又建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫堆...
2019-02-14 15:23:57
179
原创 希尔排序--C语言
近期由于身体不适,好久不曾写博客了。但是觉得生病不应该成为不学习的借口,所以今天开始还是继续自己的学习之旅。因为一旦停的时间久了,借口会越来越多,最后重蹈覆辙,之前的努力又白费了。 今天写的是希尔排序。希尔排序是插入排序的一种。它将待排序的数组按照一定间隔分为若干个子序列,对每个子序列分别进行直接插入排序。然后缩小间隔,继续上述过程,直至间隔为1,则为普通插入排序。算法代码如下:#in...
2019-01-08 11:59:35
176
原创 插入排序--直接插入、折半插入
昨天写了交换排序的算法(包括冒泡排序、快速排序),今天写一写插入排序。插入排序有三种:直接插入排序、折半插入排序、希尔排序。时间有限,今天先写一下直接插入排序和折半插入排序,希尔排序等明天有时间再写! 插入排序是将未排序序列中的元素依次拿出来与已排序序列中的元素进行比较,插入到已排序序列中的适当位置的排序方法。 直接插入排序是一种简单的排序的方法,基本操作为:将一个元素插入到已排序的序...
2018-12-27 17:02:53
722
原创 冒泡排序、快速排序--C语言
排序算法分为内部排序和外部排序,内部排序又分为交换排序、选择排序、插入排序。今天写一下交换排序的算法。 交换排序的思想是比较两个对象的关键字,如果这两个对象的关键字发生逆序,则交换这两个对象的位置。交换排序分为冒泡排序和快速排序。 对于冒泡排序:如果待排序的元素有n个,则要进行n-1轮比较,第i轮的比较次数为n-i-1次。对于冒泡排序算法的改进则是增加一个bool类型的变量,用于记录第...
2018-12-26 17:12:32
420
原创 约瑟夫环--C语言
约瑟夫(Joseph)问题的一种描述是:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈。每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,令其出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新报数,如此下去,直到所有人全部出列为止。 试设计一个程序求出出列顺序。 测试数据:m的初值为20...
2018-12-25 22:43:19
967
1
原创 预处理
一直困惑于#if,#endif这些内容,今天在搜了一下预处理的内容,做一下自己的学习笔记。应该说理解的不是很深刻,但是就目前来说,足够了。自己不再困惑与到底这个东西是干什么的。至少以后再看到这种写法知道大概意思。当然,Linux源代码里有好多地方都是这种应用,所以要想学习Linux源码,必须对这些有些了解。 自己也顺便敲了代码测试了一下,对待网络上的东西要持怀疑态度,不能看到就全盘接收不去...
2018-12-24 11:54:18
186
原创 两个栈构成一个队列算法
在《剑指Offer》中看到了一个算法:用两个栈实现一个队列。然后我就在思考这个要怎么实现,队列的特点是先进先出,而栈的特点是先进后出,与队列恰好相反。 但是如果是两个栈的话就可以实现,用一个栈进行入栈操作,另一个栈进行出栈操作。当要入队列时,便进入S1;当要出队列时,检查S2是否为空,如果为空,则将S1栈中的所有数据出栈并依次存入S2中,然后从S2中出一个元素,如果S2不空,则直接从S2中...
2018-12-23 18:25:26
315
原创 递归遍历二叉树--C语言
之前写了关于二叉树的非递归遍历算法的代码,今天把二叉树的递归遍历算法的代码补上,内容很简单!但是今天也算是写了一会儿代码了~姑且这么认为吧~代码:#include <stdio.h>#include <stdlib.h>typedef struct BiTNode{ char data;//二叉树节点数据 struct BiTNode *lc...
2018-12-22 23:27:13
892
2
原创 二叉树层次遍历--C语言
之前写了二叉树的先序、中序、后序遍历,这些遍历都用到了栈结构。今天写一下二叉树的层次遍历,层次遍历用到的数据结构是队列。 层次遍历算法中增加了三个int型数据,其中levelcount用于记录现在处理的是树的第几层;curlevel用于记录当前层还有几个节点没有被访问过;nextlevel用于记录本层的下一层的节点数。代码如下:#include "stdafx.h"#include ...
2018-12-21 17:54:22
12967
7
原创 回调函数-例子-C语言
之前看到过关于回调函数的内容,不是特别理解,最近突然又看到了关于回调函数的内容,想着试着把代码实现一遍可能会加深理解。于是搜了一下回调函数的概念,在百度百科上看到的概念:回调函数概念 根据上面给的代码,我试着敲了一遍,竟然能够运行出来,我也很是诧异,不过也挺开心的,虽然不是自己写的,只是敲了一遍,但是对于理解回调函数还是有一定的作用的。#include "stdlib.h"#inclu...
2018-12-20 18:35:18
433
原创 二叉树节点数及叶子节点数
继续二叉树系列的代码内容。今天写的是求二叉树节点个数及叶子节点个数的代码。采用了递归的方法求解。代码如下:#include "stdafx.h"#include "stdio.h"#include "stdlib.h"typedef struct BiTNode{ char data;//树中节点的数据 struct BiTNode *lchild,*rchild;//节点的...
2018-12-19 17:05:42
5495
原创 二叉树后序遍历(非递归)算法实现--C语言
一直说要写二叉树的后序非递归遍历算法,但是前两天各种事情,今天终于有时间好好写一写二叉树的后序遍历算法。 二叉树的后序遍历算法比先序和中序的遍历算法要复杂一些。其出栈条件有两种情况:栈顶元素所指向的节点的左子树和右子树均为空;栈顶元素所指向的节点的左子树和右子树均被访问过。第一种情况比较好判断,但是对于第二种情况就比较麻烦一点。要先判断其左子树和右子树是否分别被访问过。 对于...
2018-12-18 16:14:37
14250
原创 自己实现一个字符串拼接函数
今天去面试了一家公司,其中有一个编程题:实现字符串拼接函数,要求不调用库函数。说来惭愧,自己审题不严,理解成了字符串复制函数。粗心是我的另一大缺点,现在我在努力改进,虽然面试的不太好,但是这个函数我还是要实现一遍。代码如下:在这里插入代码片#include &amp;lt;stdio.h&amp;gt;typedef unsigned int ui_t;//为unsigned int类型重命名//字符串...
2018-12-17 20:46:45
3311
原创 同构数
今天突然看到了关于同构数的问题,试着理解了一下同构数的概念:正整数n若是它平方数的尾部,则称n为同构数。例如:5的平方数是25,且5出现在25的右侧,那么5就是一个同构数。(百度百科里的解释)根据这个定义,去实现算法的代码。代码如下:// IsomorphNum.cpp : Defines the entry point for the console application.//...
2018-12-16 18:11:51
6003
4
原创 Huffman树的实现
昨天下午看了Huffman树的算法,写了部分代码,今天试着调试了一下,虽然过程有点坎坷,但是最终还是出来结果了。这个代码写的很粗糙,好多地方需要改进:比如选择最小的两个数的时候,应该对这两个数进行排序再去构造数,代码里好多地方没有注释。等有时间我会再把这个代码完善一下,慢慢精细化。代码如下:`// HuffManCode.cpp : Defines the entry point for t...
2018-12-15 11:36:24
661
原创 二叉树中序遍历(非递归)算法实现--C语言
今天继续二叉树的学习。昨天写了一遍二叉树的先序遍历(非递归)算法,今天写一下二叉树的二叉树的中序遍历(非递归)算法。中序遍历的非递归算法有两种,但是个人觉得只要掌握一种就可以了,只要自己的逻辑清晰,会哪一种又有什么关系呢~首先给出今天的二叉树的示例图:代码如下:// InOrderBiTreeTraverse.cpp : Defines the entry point for the c...
2018-12-14 10:50:25
20492
5
原创 二叉树先序遍历算法--C语言
第一次在优快云上写博客,今天开启自己的编程之路。以前总觉得上课嘛,把老师讲的东西学会,考试能过就好了。但是后来发现,自己被这种想法坑惨了。知识点当时是学会了,但是随着考试的结束,学到的知识也一并还给了老师!!!这对于找工作的我来说,打击相当之大。现在下定决心要好好学习,重拾忘掉的知识。先从二叉树开始吧!今天看了二叉树的先序遍历,便尝试着写了二叉树的先序遍历算法(非递归)。以下代码为已经编译运行...
2018-12-13 17:27:34
7891
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅