- 博客(11)
- 收藏
- 关注
原创 快排及其优化(C语言)
快排的普通写法(递归) 时间复杂度(平均情况):nlog2(n) int PartSort(int*arr,int first,int end) //分步排序函数 { int tmp=arr[first]; //取第一个数作为基准值 while(first!=end) { //取左边作为基准值从右面开始判...
2018-08-12 23:31:48 4999 1
原创 快速排序的思想和步骤
快速排序是对冒泡排序的一种改进,使用分治法,具体如下: 1、找到一个基准点 2、根据基准点将序列分为两个区间,比基准点大的放在左区间,比基准点小的放在右区间 3、再对左右区间按照1、2步骤划分,直到划分成一个数为止 快速排序的时间、空间复杂度: 具体实现如下: 快速排序的实现及优化(C语言)https://blog.csdn.net/sinat_39829231/article...
2018-08-11 22:35:27 1280
原创 c和c++的区别(一)
主要讨论c89版本和c++99版本修订后的区别1.带有默认值的函数(c++支持,C语言不支持)例:int sum(int a,int b=10) { return a+b; }int main() { int a = 10; int b =0; sum(a,b);(1) /* mov eax,dword ptr [b] push eax mov ...
2018-03-23 18:16:47 178
原创 tcp
TCP TCP 的编程流程: sever(服务器端): socket(创建一个标识) bind(用端口号和IP地址命名) listen(监听) accept(接收数据) recv/send(发送数据) client(客户端): socket /*bind */(可有可无)已知服务器的名称,通讯时服务器自然就知道了客
2017-11-15 23:04:05 179
原创 网络基础
网络基础: 1、 什么是网络,什么是互联网,网络的功能 互联网:将网络连接起来。最大的互联网:inter网 网络的功能:资源共享,信息交换 网络:将主机连接起来叫网络 2、 网络设备:路由器 交换机 3、 线路:双绞线(传递距离100米) 同轴电缆 光纤 无线 计算机:手机 电脑 服务器 网络通讯的两个主角:进程(IP地址
2017-11-15 22:54:33 145
原创 什么是面向对象
一、什么是面向对象 在现实生活中我们通过抽象数据类型将现实中的属性和行为模拟出来。在c++中,将抽象数据类型转化成类,其中,属性转化成成员变量,行为转化成成员函数。类通过实例化转化成对象(相当于现实生活中的实体),一个类可以有多个对象,成员变量是私有的,成员函数是共有的。 举例: 现实生活中: 一个人(实体),他的属性是(姓名、年龄)行为是(吃,玩) ADT(抽象数据类型),属性是
2017-11-15 22:50:12 340
原创 函数的调用堆栈
在学习c++的过程中,有面向过程和面向对象两种编程方式。对于面向过程来说,函数的书写是最基本的,所以了解函数的调用过程和函数调用的底层原理也是必须要会的事情。 那么函数栈帧的开辟和回退是怎么进行的呢? 下面我们先用一个简单的例子,通过一个模拟模型和反汇编来了解一下函数堆栈的调用。 题外话: 1、说到汇编我们要知道,汇编的代码分为两种: 一种是inter的x86汇编(从右向左看
2017-11-06 21:47:45 613
原创 线程
线程 线程的概念: 线程是进程内部的一条执行序列(执行流),每个进程至少有一条执行序列:main的执行体。进程可以通过线程库创建n条线程,这些新创建的线程称之为函数线程,main函数所代表的线程为主线程。 /*指运行中的程序的调度单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。是操作系统能够进行运算调度的最小...
2017-10-27 23:48:07 212
原创 进程
进程 进程管理,内存管理和文件管理是操作系统的三大核心功能。 下面我们将从进程的概念、进程的产生和消失、用模型模拟进程、进程的运行状态以及各个状态之间的关系、进程 一、那么什么是进程,什么是程序呢? 概念: 进程简单来说就是运行中的程序。也可以说成一组有序指令(CPU调度最小的执行单位)、资源、数据的集合。 说到这里我们可以联系到线程,线程(一组有序指令)是CPU调度的最小...
2017-10-27 23:36:43 336
原创 进程创建——fork函数
首先我们来介绍一下fork函数的创建,他引用了#include<unistd.h>这个头文件,用pid_t fork(void)进行创建。下面来介绍几种结束进程的方法: fork函数的特点是调用一次返回两次。子进程返回0,父进程返回子进程的ID。 为什么父子进程会这样返回呢? 子进程返回0的理由是:一个进程只有一个父进程,所以子进程总是可以通过调用getppid()来访问...
2017-10-20 23:21:05 457
原创 中缀转后缀
中缀表达式就是我们平时看到的普通的表达式。前缀表达式又叫波兰式,后缀表达式叫逆波兰式。下面以中缀转后缀为例。如果要按常规的方法来写的话,通常会因为优先级和规则太多而混淆。所以这种方法是一种小窍门,目前只试验了中缀转后缀。 具体方法为:为避免不清楚优先级大小,在每一步运算外都加上括号,然后以最里层的括号为开始,将运算符移到括号外,以此类推,当运算符都移完以后,再将括号依次删除,剩下的就是转化好的后
2017-08-21 23:43:00 453 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人