自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Oracle 自主学习笔记(六)

本章主要是一些多表查询的练习1、select * from emp where ename like '_A%' or ename  like 'A%';   select * from emp where substr (ename,1,1) = 'A' or substr(ename,2,1) = 'A';  因为查询员工信息所以在 emp 表中检索   select * from e...

2018-07-25 22:59:37 427

原创 Oracle 自主学习笔记(五)

一、存储过程语法结构create or replace procedure 存储过程名is|as声明语句段;begin执行语句段;exception异常处理语句段;end 存储过程名;in 模式的形参只能只能将实参传给形参,进入存储过程内部,只能读不能写out 模式在存储过程内部可以读写,返回时形参的值会返回给形参in out 具有以上两种属性例子:create...

2018-07-25 22:53:50 344

原创 Oracle 自主学习笔记(四)

一、1、插入数据 不写列名,要补全2、删除数据 delete drop truncate3、修改数据 update二、Oracle提供了一种被称为“事务”的控制机制,来对数据进行有效、安全的操作,使数据库中的数据始终处于一个数据一致性的状态。ORACLE提供的事务控制语句有:提交事务(commit)回滚事务(rollback)设置保存点(savepoint)三、数据...

2018-07-25 22:51:35 154

原创 Oracle 自主学习笔记(三)

本篇博客主要练习的是数据库的一些多表查询一、  等值 select empno,emp.deptno,sal from emp,dept where emp.deptno = dept.deptno;  非等值  自然二、内连接:舍弃不匹配的元祖左外连接:内连接+左边关系中失配的元组(缺少右边关系属性用null)右外连接:内连接+右边关系中失配的元组(缺少的左边关系属性...

2018-07-17 21:50:21 425

原创 Oracle 自主学习笔记(二)

1、select * from emp where ename like '_A%' or ename  like 'A%';   select * from emp where substr (ename,1,1) = 'A' or substr(ename,2,1) = 'A';  因为查询员工信息所以在 emp 表中检索   select * from emp where instr(e...

2018-07-17 21:47:20 299

原创 Oracle 自主学习笔记(一)

1、sql窗口  select *from dual; 查询语言   命令窗口 show parameter name; 建表,删除,修改等操作2、oracle基本术语    数据字典 数据文件 控制文件 日志文件 表空间 段 区 数据块   数据字典->sys用户下的一些东西  select *from dba_data_files 查询数据字典  (记录数据库状态和基本信息...

2018-07-17 21:44:32 326

原创 mysql自主学习(一)

1111111111

2018-06-24 15:46:56 223

原创 回顾归纳一下 Linux 下的一些常用命令

之前面试的时候,面试官问的 Linux 下的一些命令,由于自己有相当长的时间没有接触过这些命令,感觉回答的不好,所以自己有必要再来回顾和梳理一下这些命令但最重要的是还是要多练,毕竟孰能生巧嘛! 1、login  登录系统、  shutdown  关闭计算机、  reboot  重新启动计算机2、install  安装或升级软件或备份数据、 install  -d [选项]  目

2018-04-11 17:20:32 160

原创 面试后 总结一下 TCP和UDP、进程和线程 数据库

一、先简单介绍下 makefile 的作用是什么?作用:管理工程文件。通过工程文件 makefile 的编写,对工程下不同目录中的文件的编译、链接的方式、顺序进行描述。在编写 makefile 后,编译工程只要求输入 make 命令,极大地提高了编译效率二、数据库 与 文件进行数据存储 有哪些区别?数据库 属于结构化管理的存取数据模式, 而文件属于 自定义结构 的存取数

2018-04-10 15:56:33 422

原创 笔试题整理【4】

一、四层网络模型与七层网络模型(每层写出对应的三个协议)?七层网络模型:应用层   表示层   会话层   传输层   网际层   数据链接层   物理层 四层网络模型:应用层:TFTP、FTP、Telnet、DNS传输层:TCP、UDP网际层:ICMP、IP、ARP、RARP网络接口层:FDDI、PDN、PPP、IEEE802.1A(各种通信网络接口)二、用两

2018-03-04 00:16:12 247

原创 笔试题整理【3】

一、关键字 static 的作用是什么?(1)在函数体内,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变(2)在模块内但在函数体外,一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其他函数访问,它是一个本地的全局变量(3)在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用,那就是这个函数被限制在声明它的模块的本地范围内使用二、局

2018-03-03 17:10:16 146

原创 STL标准库的使用【2】

我们继续来介绍STL的相关容器的使用一、vectorvector 是将元素置于一个动态数组中加以管理的容器vector 可以随机存取元素 (用 [] 操作符 或 at () 方法)vector 尾部添加或移除元素非常快速,但是在中部和头部时比较费时1、vector 数据的访问void func1(){ vector v; v.push_back(1); v.

2018-03-01 19:44:11 794

原创 STL标准库的使用【1】

一、首先我们先来介绍下容器:容器的概念:在数据存储上有一种对象类型,它可以持有其它对象或指向其它对象的指针这种对象类型叫做容器STL对定义的通用容器分为3类:顺序性容器、关联式容器和容器适配器使用STL的好处:1、STL是C++的一部分,不用额外安装什么,被内建在编译器之内2、STL一个重要的特点就是数据结构和算法的分离3、程序员不用思考STL的具体实现过程,只

2018-03-01 17:50:17 314

原创 回顾一下【栈和队列】

下面来回顾一下数据结构中比较常用的两种类型:栈和队列栈:是一个特殊的线性表,只能在一端操作,即先进后出栈顶:允许操作的一端栈底:不允许操作的一端空栈:不含任何数据元素的栈,top = -1,当栈中有一个元素时,top = 0;一、顺序存储(一般采用循环队列)顺序栈:即栈的顺序存储结构是利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素顺序存储中

2018-03-01 00:48:09 126

原创 笔试题整理【2】

一、系统调用与库函数的区别?系统调用是为了方便应用使用操作系统的接口,而库函数是为了方便人们编写应用程序而引出的,比如自己编写的一个函数也可以说就是一个函数。系统调用可以理解为内核提供给我们在用户态用的接口函数,可以认为是某一种内核的库函数。具体区别:系统调用:1、依赖于内核,不保证移植性 2、调用系统内核的服务 3、操作系统一个入口 4、在内核空间执行 5

2018-02-26 18:37:51 152

原创 笔试题整理【1】

一、简述数组与指针的区别?数组要么在静态存储区被创建(如全局数组),要么在桟上被创建指针可以随时指向任意类型的内存块(1) 修改内容上的差别char a[] = "hello";  a[0] = 'x';char *p = "world";  p[0] = 'x';指针p指向字符串常量 不能修改(2) 用运算符 sizeof 可以计算数组的字节数,而指针得到的是一个指针

2018-02-26 14:48:44 136

原创 函数模板与类模板

函数模板:所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能模板:将 算法 与 数据类型 相分离,专注于算法的实现

2018-02-25 22:01:20 356

原创 多态

一、多态:同样的调用语句有多种不同的表现形式。通俗的说就是根据传入对象类型的不同,调用不同的派生类的相应函数多态的实现条件:1、要存在继承关系2、对虚函数的重写3、基类指针 (引用) 指向派生类对象二、静态联编与动态联编静态联编:程序匹配,连接在编译阶段实现,也称为早期联编(在编译的时候,就知道了该去调用谁)例如:函数重载动态联编:程序联编推迟到运行时进

2018-02-19 23:38:55 196

原创 继承与派生

一、继承:使用已经编写好的类来创建新类,新的类具有原有类的所有属性和操作也可以在原有类的基础上增添新的属性和操作从一个类派生出另一个类时,原始类称为基类,继承类称为派生类派生类继承基类所有的成员变量和函数派生类可扩展自己的功能二、继承中的访问权限public > protected > private派生类public :  公有继承基类 publi

2018-02-19 23:00:41 245

原创 运算符重载

一、运算符重载再讨论运算符重载之前我们先来介绍下函数重载,函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此一个函数名就可以代表不同功能的函数运算符重载:简单点来说就是赋予 运算符 一个新的功能,新的运算规则当然了基础数据类型编译器知道运算规则,所以可以直接运算下面来介绍下运算符重载的步骤:1、写出函数名 operator + 重要的运算符  (比如+:oper

2018-02-19 17:57:40 161

原创 类和对象 【2】

一、对象初始化列表

2018-02-14 19:45:22 133

原创 类和对象 【1】

一、面向过程编程   与   面向对象编程1、面向过程编程首先考虑遵循的步骤,然后考虑如何表示这些数据2、面向对象编程首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作。完成对接口的描述后,需要确定如何实现接口和数据存储。

2018-02-14 19:42:26 138

原创 面试题 单向链表(无头结点)一个指针指向其中的一个结点,如何删除这个结点?

这也是自己碰到的比较新鲜有意思的题目,在解题的时候容易固定思维,不知道如何下手所以最后也没有做出来,所以记录下来来告诉自己不能固定思维一开始我老是在想怎么才能找到这个节点的前一个结点和后一个结点,想了挺久想不来后来上网才知道:首先我们知道什么就是这个指针指向的结点,那我们就可以知道下一个指针,知道了下一个指针,我们如果把这个指针的节点值交还给下一个指针的结点值,然后删除下一个指

2018-02-09 21:26:02 938

原创 笔试题 实现双向链表的插入和删除

这几天做了笔试题发现双向链表这一块自己掌握的很差,所以写下此博客来加深自己对双向链表的理解首先什么是双向链表?通过翻阅资料知道双向链表是指在前驱和后继方向都能遍历的线性表自己在软件上写了几遍,代码如下1、双向链表的定义typedef int ElemType;typedef struct node{ ElemType data; struct node *lef

2018-02-09 20:56:50 1091

原创 C++ 引用、内联函数、函数默认参数、函数重载

一、引用:1、整型数据占4个字节的空间,a是一个标识符,这个标识符代表这一块空间,对这个标识符操作相当于操作这块空间int   a  =  10;给这个 4 字节的空间取个别名 a 是大名 其他都叫别名类型  &别名 = 原名,b 是 a的一个别名, b 也代表a所表示的4字节空间 对 b 操作实际上就是对 a 操作, 引用的对象是不可改变的,所以引用必须要初始化int

2018-02-08 18:59:42 224

原创 C++入门

C++入门一、命名空间1、命名空间的定义:namespace 命名空间的名称  {}  里面可以是 变量、函数、宏定义2、将全局空间进行划分,全局空间也被成为默认命名空间,命名空间也可以相互嵌套例如:namespace Name1{ int a; int add(int a, int b) { return a + b; }#define PI 3.14

2018-02-08 12:09:31 492

原创 排序【8】基数排序

基数排序是一种借助多关键字排序的思想对单逻辑关键字进行关系的方法。基数排序不需要进行记录关键字间的比较。时间复杂度:最好时间:O(kn)    最坏时间:O(kn)   平均时间:O(kn)   空间复杂度:O(n);基数排序是一种稳定的排序主要有两个过程:1、分配,先从个位开始,根据位值(0-9)分别放到0~9号桶中,比如(54, 各位为4,则放入4号桶中)2

2018-02-01 13:10:15 169

原创 排序【7】 归并排序

归并排序就是利用递归和分治技术将数据序列划分为越来越小的半子表,再对半子表进行排序,最后再用递归将排好序的半子表合并成越来越大的有序序列。归并排序是一种稳定的排序,其时间复杂度:都是O(nlog2n)  空间复杂度 O(1)归并排序代码如下:#include #include void Merging2(int array[], int begin, int mid,

2018-01-26 22:03:45 169

原创 排序【6】堆排序

堆排序应该是八种排序中相对较复杂的排序了,当初刚学的时候也是一头雾水,经过自己反复的思考理解,敲写,终于是弄明白了。首先堆排序也是一种不稳定的排序,其时间复杂度:最好情况:O(nlogn)  最坏情况:O(nlogn)  平均情况 O(nlogn)空间复杂度 O(1)堆排序思想:首先要把序列建成一个完全二叉树,把这棵树改造成堆,如果按照大堆来表示的话,所有子节点都小于父

2018-01-26 21:29:20 141

原创 排序【5】简单选择排序

今天我们来说一下简单选择排序,这也是相对简单的一种排序;它是一种不稳定的排序

2018-01-26 21:01:29 120

原创 排序【4】快速排序

快速排序和冒泡排序一样属于交换排序,它是一种非常高效的排序。它采用了一种分治的策略,把大的拆分成小的,再把小的拆分为更小的。快速排序是一种不稳定的排序时间复杂度:最好情况:O(nlogn)  最坏情况:O(n2)  平均情况:O(nlogn)空间复杂度:O(logn)那么快速排序主要是什么思想呢?对于一组无序数据,先任选一个记录作为基准,一般选第一个为基准,然后将数据与这个

2018-01-25 22:26:42 114

原创 排序【3】 冒泡排序

冒泡排序我想初学编程的人都很熟悉,是我们大家最常使用到的,也是最简单的排序,所以我也不过多的介绍了。冒泡排序属于交换排序是稳定的排序;时间复杂度:最好情况:O(n)  最坏情况O(n2)  平均情况O(n2)空间复杂度:O(1)它的排序思想也很简单我们简单介绍一下:对于N个数据,从第一个数据开始依次对相邻的两个数据进行比较,按照从小到大的书顺序,如果前面数据大于后面的进行交换,

2018-01-25 22:06:48 132

原创 回顾并谈一谈之前写过的通讯录小项目

通讯录项目我是用单链表写的,这个项目整体比较简单,除了一些基本的增、删、改、查等功能外,由于后面学到了文件IO和标准IO方面的知识我又添加了保存信息和下载信息两个功能通过fopen函数创建文件,fwrite将信息写入文件,fread从文件中读取信息输出打印头文件代码:#ifndef _STRUCT_H_#define _STRUCT_H_#define ERROR

2018-01-24 14:19:31 129

原创 排序【2】 希尔排序

我们来谈一谈希尔排序:希尔排序和直接插入排序一样属于插入排序,但是由于分组的存在,相等的元素可能分在不同组,导致他们的次序可能发生变化,所以它是不稳定的排序。除此之外由于它移动次数较少所以它比直接插入排序时间性能优越,效率更高。时间复杂度:最好情况:O(n)  最坏情况:O(n2)  平均情况:O(n1.3)空间复杂度:O(1)希尔排序的主要思想什么?其实它只是比直接插

2018-01-24 13:41:12 109

原创 排序【1】 直接插入排序

再谈直接插入排序之前首先来谈谈什么是排序?1、排序:所谓排序就是整理文件中的记录,使之按关键字递增(或递减)的次序排列起来2、稳定排序与不稳定排序:假设 Ki = Kj ,且排序前序列中 Ri 领先于 Rj ;若在排序后的序列中 Ri 仍领先于 Rj ,则称排序方法是稳定的。若在排序后的序列中 Rj 仍领先于 Ri ,则称排序方法是不稳定的。3、算法的复杂性:体现在运行该算

2018-01-24 13:17:49 203

原创 链表

本文主要是回顾之前所学的链表知识,重点介绍单链表。一:链表是线性表的链接存储方式:主要有单链表、静态链表、双向链表、循环链表等。二:1、链表节点可以连续可以不连续存储;2、结点的逻辑顺序和物理顺序可以不一致;3、表可以扩充三:什么是带表头结点的单链表? 与不带表头结点的单链表有什么区别?1、表头结点在表的最前端,本身不带数据,有一个头指针指向表头,仅标识表头2、带表头结

2018-01-24 11:24:25 150

原创 select 实现网络聊天室功能 (客户端)

客户端:

2018-01-09 19:56:41 317

原创 Select 实现网络聊天室功能 (服务器端)

服务器端:

2018-01-09 19:54:32 419

原创 谈一谈前两个星期写网络聊天室项目的感受

这次的网络聊天室项目也是我第一次尝试比较大的项目,所以在编写的过程中也经历了不少困难,不过都被我一一克服了,当然最让我开心的还是在完成那一刻的成就感。

2018-01-09 19:46:23 1013 1

原创 初学SQLITE3的运用

一:数据定义(DDL):用户定义、删除和修改数据模式      (create、drop、alter)数据查询(DQL):用于查询数据                   (select) 数据操纵(DML):用于增、删、改数据                          (insert、update、delete)数据控制(DCL):用于控制数据访问权限

2018-01-04 18:29:20 169

空空如也

空空如也

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

TA关注的人

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