自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

晴。

学习记录,分享。

  • 博客(7)
  • 收藏
  • 关注

原创 进程环境-C程序存储空间布局

    这里都是unix环境高级编程书上的,所以描述的是Linux C内存分布,Window下具体分布要自己试验或查阅其他博客。        虚拟内存是4GB,0-3GB是用户态,3-4GB是内核态。内核态是不允许用户访问的。    从低地址往高地址一次时代码段,初始化数据段,未初始化数据段,堆,不明确的(好多博客说法不一,我也没有试验过),栈以及命令行参数和环境变量。命令行参数和环境变量是在内...

2018-05-26 23:20:47 177

原创 进程环境-命令行参数

    上一篇博客说了启动例程会获取命令行参数和环境变量,然后传递给main函数并调用。现在看一下main的命令行参数和环境表。    命令行参数:                        因为ISO C和POSIX标准都要求argv[argc]是一个空指针,所以我们main中可以通过空指针判断结束遍历。        argc,就是我们平常说的命令行参数传递的个数。argv,就是命令参数作...

2018-05-25 13:06:03 445

原创 进程环境-C程序的启动和终止

    360面试回来了,结果是好的,面上了。技术面让我在校多补补多进程和多线程,所以开始看Unix环境高级编程,所以这里的都是看书的一个大致总结,很多都是书上的内容。    一:main如何被调用        1.内核执行C程序        2.调用启动例程,从内核获取命令行参数和环境变量        3.调用main        其实main之前的操作时很复杂的,栈和BSS的初始化,库...

2018-05-25 12:29:16 718

原创 仅用递归和栈操作逆序一个栈

题目:    一个栈依次压入1,2,3,4,5,那么栈顶到栈底依次是5,4,3,2,1。逆序后,栈顶到栈底依次是1,2,3,4,5。只能使用递归函数思路    两个递归函数    1.getAndRemoveLastElement();        功能:将栈底元素删除并返回    2.reverseStack();        功能:获取栈底元素并删除,栈为空的时...

2018-05-19 17:36:59 779

原创 用一个栈排序另一个栈

题目:    一个栈中的元素都是整型,现在想将改栈从栈顶到栈底从大到小排列,只允许申请一个栈,除此之外可以申请新的变量,但不能申请额外的数据结构。思路:    两个栈,一个记为stackData,一个记为stackSort。一个整型变量cur    stackData弹栈到cur,判断stackSort是否为空    如果为空,将cur压栈到stackSort。如果不为空判断c...

2018-05-18 09:31:42 563

原创 两个栈实现队列

题目:    编写一个类,用两个栈实现队列,支持进队列,出队列,获取队列头元素思路:    使用两个栈,因为栈的特性是后进先出,两个栈正好把顺序反过来(stackPush,stackPop)注意:    1. 如果stackPush要往stackPop中压入数据,那么必须一次性把stackPush中全部元素压入,并且删除    2. 如果stackPop不为空,stackP...

2018-05-17 17:23:04 88

原创 最小值栈

题目:    实现一个特殊的栈,可以提供返回最小值的操作。要求:    1. push,pop和getMin时间复杂度都是O(1)    2. 设计的栈可以使用现成的栈结构思路:    使用两个栈,一个做数据栈,一个做最值栈。第一种方法:    不重复的保存最值第二种方法:    重复的保存最值代码:#include <exception&g...

2018-05-17 15:57:55 215

空空如也

空空如也

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

TA关注的人

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