排序:
默认
按更新时间
按访问量

【剑指offer】面试题之二叉树系列(一)

1、把二叉树打印成多行 题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行 思路: 层序遍历 问题:怎样去确定它的每一层有多少结点 按层次输出二叉树 访问根节点,并将根节点入队。 当队列不空的时候,重复以...

2018-08-14 19:05:51

阅读数:6

评论数:0

str系列库函数的模拟实现

1、模拟实现strlen :字符串求长度 思路:字符串都有结束标志\0,只要遍历这个字符串,知道遇到\0结束,就能轻松的获得字符串的长度了 (1)不创建计数器(递归) int my_strlen1(const char* str) { if ('\0' == *str) ...

2018-08-14 18:51:54

阅读数:32

评论数:0

rotate_list(旋转链表)

题目描述 Given a list, rotate the list to the right by k places, where k is non-negative. 给定一个链表,将链表向右旋转k个位置,其中k是非负的。 For example: Given1-&...

2018-08-09 19:04:05

阅读数:5

评论数:0

partition-list

题目描述: Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x. You should pres...

2018-08-07 10:56:34

阅读数:8

评论数:0

链表中倒数第K个结点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路: 定义两个指针:一个pPre,一个pCur,让pPre先走k-1步(这里用for循环来实现pCur不动。当从第k步开始,让两个指针再同时出发(这样两个指针之间的距离始终就是k-1),当pPre走到尾指针...

2018-08-06 21:30:43

阅读数:7

评论数:0

排序之交换排序(快排)

1、冒泡排序:稳定 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元...

2018-08-03 18:06:40

阅读数:13

评论数:0

两个链表的公共结点

题目描述: 输入两个链表,找出它们的第一个公共结点 思路: 如上图所示,两个链表从第一个公共结点开始,后面的所有结点都是重合的,并且不可能再出现分叉 思路一:在第一个链表上顺序遍历每个结点,每遍历一个结点,就在第二个链表上顺序遍历每个结点,直到找到第一个公共结点。...

2018-08-03 16:45:19

阅读数:9

评论数:0

排序之选择排序

二、选择排序 1、选择排序(区间在不断地变小 ) 基本思想: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 (首先,选出最小的数放在第...

2018-07-23 13:11:52

阅读数:11

评论数:0

排序之插入排序

一、什么是排序 1、概念 排序就是将一组杂乱无章的数据按照一定的规律(升序或者降序)组织起来 2、分类 3、各排序之间的时间复杂度&空间复杂度&稳定性 二、插入排序 1、直接插入排序 基本思想: 当插入第i(...

2018-07-23 09:18:02

阅读数:16

评论数:0

shell基础之工具(一)

一、sort sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按照ASCII码值进行比较,最后将它们按升序输出(默认情况下都是升序) sort的常见几个选项: (1)sort -r:排序方式改为降序 (2)sort -u:在输出行中去除掉重复行...

2018-07-16 10:58:39

阅读数:18

评论数:0

正则表达式

相信大家都知道见过正则表达式,但什么是正则表达式嘞? 正则表达式就是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过 特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。 正则表达式目前被集成到了各种文本编辑器/文本处理工具当 ...

2018-07-07 15:56:26

阅读数:17

评论数:0

fd与FILE结构体

前言: fopen,fclose,fwrite,fread属于C库当中的函数,为库函数调用。而open,close,write,read这几个函数属于系统提供的借口,称之为系统调用。库函数和系统调用是上下级关系,在库函数中封装了系统调用的函数。(库函数为啥都有的大哥,系统调用就是有一部分的小弟)...

2018-06-08 00:03:04

阅读数:22

评论数:0

【剑指offer】------将字符串中的空格替换

题目描述: 将一行字符串中的空格替换成为%20 eg:hello world 准换成为 hello%20world 题目分析: 方案一: 可以允许开辟新的空间 遍历旧字符串复制,遇到空格就在新字符串上填入“%20” !!! 方案二: 不允许开辟新的空间,只能在原来...

2018-05-26 21:21:58

阅读数:11

评论数:0

表的增删改查(CRUD)

1、增加 语法: insert into table_name[(column[,column...])] values (value [,value...]); 增加进阶: 更新: 主键插入如果重复:(如果重复做更新,如果不重复做插入) insert into t7 ...

2018-05-26 18:29:03

阅读数:61

评论数:0

多线程------线程的等待与分离

一、线程等待 // 函数原型 #include <pthread.h> int pthread_join(pthread_t thread, void **retval); // 参数 thread:线程ID ...

2018-05-15 20:26:35

阅读数:43

评论数:0

多线程-------线程的同步与互斥

一、什么是互斥量(mutex) 先来看一段代码:操作共享变量会有问题的售票系统 Makefile mypthread.c #include <stdio.h> #include <stdlib.h>...

2018-05-15 11:20:43

阅读数:17

评论数:0

数据库中表的常见七大约束

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业 务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。 1、空属性not null:not null 此列属性不允许为空,必须做数据插入 create tab...

2018-05-14 20:15:55

阅读数:200

评论数:0

数据库中表的基本操作【面试常考点】

1、创建表 // 语法 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) cha...

2018-05-06 20:27:18

阅读数:30

评论数:0

数据库的备份和恢复

一、创建数据库 1、数据库的创建 语法:create database [IF NOT EXISTS] 数据库名; CREATE DATABASE [IF NOT EXISTS] 数据库名 [create_specification [, create_specification] ...

2018-05-05 22:56:25

阅读数:23

评论数:0

多线程------线程的基本概念&创建&终止

一、什么是线程 1、概念 在Linux下进程是承担系统分配资源的基本单位。Linux下的进程称之为轻量级进程。 在一个程序里的一个执行路线就叫做线程。线程就是“一个进程内部的控制序列”(线程是在进程内部运行的)。线程是承担调度的基本单位,一个进程可以有多个线程,它的执...

2018-05-05 10:32:26

阅读数:15

评论数:0

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