- 博客(8)
- 收藏
- 关注
原创 内排序——插入排序—直接插入(稳定)—希尔(不稳定)
一、排序排序是计算机程序中的一种重要操作,功能是将一个任意的数据序列,重新排列为一个有序的序列。1.排序的分类:(1) 内排序:待排序记录存放在计算机内存中进行的排序过程,之后的排序方法都属于内排序。(2) 外排序:待排序记录较多,需要利用到外存。2.排序的数据分类:(1) 存放在地址连续的一组存储单元中——顺序存储结构(常采用)(2) 存放在静态链表(3) 存放在
2017-11-30 19:36:07 3388
原创 线程(1)
一、线程的基本概念1.线程:进程内部的一条执行路径(序列),所有的进程至少有一个执行线程——主线程,即唯一的一条执行路径就是从主函数的第一行代码到最后一行。2.进程和线程:(1)进程是一个正在运行的程序,它为其中的一个或多个线程分配资源。线程只是一条执行路径。(2)在进程中创建一个新线程时,新的线程有自己的栈(即有自己的局部变量),与主线程共享全局变量、文件描述符、信号处理函数
2017-11-30 00:28:27 245
原创 管道——(1)有名管道和无名管道
管道是用于“两个进程间的通信”的一种特殊的文件,它又分为有名管道和无名管道。本文介绍了两种不同管道及其使用方法。
2017-11-18 18:27:26 3156
原创 系统调用——open、write、read和close
一、文件描述符 每一个进程都有一个与之相关的文件描述符,它们是一些小值整数,我们可以通过这些文件描述符来访问打开的文件。 一般地,一个程序开始运行时,会自动打开3个文件描述符: 0——–标准输入———-stdin 1——–标准输出———-stdout 2——–标准错误———-二、write系统调用1.write系统调用的原型:#include <unistd.h>size_t write(
2017-11-13 17:20:11 13686
原创 栈:中缀表达式改为后缀表达式
一、后缀表达式的转化 将中序(中缀)表达式 5+4-3+4x5-6x(6-3) 转为后缀表达式 1.加括号 2.运算优先级:先乘除后加减 3.从左往右 4.运算符右置 5.去括号((((5+4)-3)+(4x5))-(6x(6-3))) 54+3-45x+663-x-二、中缀表达式和后缀表达式的区别 我们人使用的是中缀表达式,如:3+4*12,计算机是理解不了这样的式子的,因为我们知
2017-11-12 19:56:24 692
原创 堆排序
一、堆 将一个数组arr = {12,23,25,17,48,49,56,65,73,89},也就是一个无序序列,看作是一个完全二叉树,则对应以下结构:如果该结构是是堆的话,则堆顶元素(二叉树的根)必须为序列中的最大值或最小值,因而堆又分为大根堆和小根堆。1.大根堆:整个堆中,左子结点的数据和右子结点的数据都比父结点的数据小。2.小根堆:整个堆中,左子节点的数据和右子节点的数据都比父结点的大。二、
2017-11-09 18:38:20 459
原创 判断一个单链表中是否有环
最近在学习数据结构中关于链表的部分,顺序表、单链表、循环链表、双向链表、静态链表和不带头结点的各种链表…. 直到遇见了带环的单链表,我才发现这个世界没有最变态的东西,只有更变态的东西….. 话不多说,开始今天的主题吧!顾名思义,有环的单链表就是一个单链表中出现了一个环,但是这个环比较特殊,它的位置很有讲究。我们知道,单链表的结构为:而且在链表中,一个数据节点只能有一个前驱和一个后继,那么单链表要
2017-11-06 16:58:32 1051
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人