• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






hao02171990

记录点滴的自我。
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页

2013年4月21日

链表的常见操作
摘要: 链表是数据结构的重要内容,在计算机程序中应用广泛,同时也是各公司笔试题目的重点。以下简单实现了链表的一些操作,包括创建、增加节点、删除节点、单链表逆置、合并有序链表等。一、链表创建 链表主要有三种形式,包括单链表、双链表和循环链表。 单链表每个节点只包含一个后驱指针,双链表节点同时包含一个前驱指针和一个后驱指针,循环链表的尾节点的后驱指向头节点。 代码如下:/*单链表节点结构*/typedef structNodeType{ char elem;NodeType*next;}Node;/*双链表节点结构*/typedef structDNodeType{char elem;DNodeTy... 阅读全文
posted @ 2013-04-21 10:33 某某郝 阅读(173) 评论(0) 推荐(0)
 

2013年4月20日

基于数组或链表的堆栈实现
摘要: 本文使用C语言,给出了堆栈的两种实现:基于数组和基于链表的实现方式。堆栈是一种常用的数据结构,具有“后进先出(Last In First Out)”的特性,常用来进行函数调用时候的参数传递,解决递归函数书的非递归实现,表达式中的括号匹配等问题。堆栈的常用操作如下:createStack(st):建立一个空栈push(st, x):将元素x压入栈st当中,使之成为栈顶元素pop(st,x):当栈非空时,将栈顶元素弹出,并赋值给xtop(st):当栈非空时,返回栈顶元素的值isEmpty(st):判断栈st是否为空#include<stdio.h>#include<assert. 阅读全文
posted @ 2013-04-20 19:37 某某郝 阅读(246) 评论(0) 推荐(0)
 
堆与栈有什么区别?
摘要: 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放4、文字常量区 —常量字符串就是放在这里的。 阅读全文
posted @ 2013-04-20 19:21 某某郝 阅读(171) 评论(0) 推荐(0)
 
linux-Tcp IP协议栈源码阅读笔记
摘要: 一.linux内核网络栈代码的准备知识1.linux内核ipv4网络部分分层结构:BSD socket层:这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/ip,即建立了AF_INET形式的socket时,还需要保留些额外的参数,于是就有了struct sock结构。文件主要有:/net/ipv4/protocol.c /net/ipv4/af_inet.c 阅读全文
posted @ 2013-04-20 19:19 某某郝 阅读(287) 评论(0) 推荐(0)
 
堆和栈有什么区别:
摘要: 1. 栈具有数据结构中栈的特点,后进先出,所有存放在它里面的数据都是生命周期很明确(当然要求它不能存放太久,占有的空间确定而且占用空间小),能够快速反应的!所有在Java中它存放的是8个基本数据类型和引用变量的,用完就马上销毁2. 堆可以理解它就是个一个可大可小,任你分配的听话的内存操作单元;因此它的特点就是动态的分配内存,适合存放大的数据量!比如一个对象的所有信息,虽然它的引用指向栈中的某个引用变量;所有Java中堆是存放new出来的对象的。堆和栈因为不同的特性,所有在计算机中应用甚广! 阅读全文
posted @ 2013-04-20 19:17 某某郝 阅读(204) 评论(0) 推荐(0)
 
数组仿真堆栈与链表仿真堆栈(内含数组与链表的差别)
摘要: 数组和链表其实都能很好的完成这项任务,唯一不同就是,仿真入栈操作时,数组必须提前给出栈的大小,而链表可以使栈的大小实现动态变化,节省内存...其实也就是数组和链表本身的区别了:数组: 优点:查找速度快缺点:大小固定,不适合动态存储,不方便动态添加。链表:与数组相反。优缺点互换。再详细点可以从下面两个方面说:1、从逻辑结构来看 数组必须事先定义元素个数,不能适应数据动态地增减的情况,当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项,而数组比较麻烦的... 2、 从内存存储来看... 阅读全文
posted @ 2013-04-20 19:16 某某郝 阅读(283) 评论(0) 推荐(0)
 
计算机内部如何存储数据,关于源码、补码的问题!
摘要: 1. 什么是源码,反码,补码?2. 计算机内部存储的是源码 还是 反码 还是 补码??3. 这样一个二进制数:00010010 这是表示正数还是负数?他的几??1.补码(1)正数的补码 与原码相同。 【例1】+9的补码是00001001。(备注:这个+9的补码说的是用8位的2进制来表示补码的,补码表示方式很多,还有16位2进制补码表示形式,以及32位2进制补码表示形式等。)(2)负数的补码 符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 同一个数字在不同的补码表示形式里头,是不同的。比方说-15的补码,在8位2进制里头是11110001,然而在16位2进制补码表... 阅读全文
posted @ 2013-04-20 09:18 某某郝 阅读(1832) 评论(1) 推荐(1)
 
sprintf深究
摘要: printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。所以本文着重介绍sprintf,有时也穿插着用用pritnf。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, 阅读全文
posted @ 2013-04-20 09:14 某某郝 阅读(157) 评论(0) 推荐(0)
 
sprintf用法解析
摘要: 1:sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf在大多数场合可以替代itoa。 这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常想要一种左边补0 的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0 就可以了。sprintf(s, "%08X", 4567); //产生:"000011D7"上面以”%d”进行的10 进制打印同样也可以使用这种左边补0 的方式。这里要注意一个符号扩展的问题:比如,假如我们想打印短整数(short)-1的内存16 进制表示形式,在Win32 平台上, 阅读全文
posted @ 2013-04-20 09:02 某某郝 阅读(372) 评论(0) 推荐(0)
 

2013年4月19日

操作系统 复习资料
摘要: (1)什么是操作系统,操作系统在软件层次中的地位;操作系统的设计观点(2)操作系统的形成和五大类型(批处理操作系统、分时操作系统、 实时操作系统、网络操作系和分布式操作系统)(3)操作系统的五大功能(作业管理、文件管理、存储管理、设备管理和处理机及进程管理(4)操作系统的属性:响应比、并发性(共行性)、信息的共享、保密与保护、可扩充性、可移植性、可读性、可“生成”性、可测试性、安全可靠性等(5)操作系统的“生成”、配置、设置和引导教学要求:(1)牢固掌握操作系统的定义:计算机操作系统是方便用户、管理和控制计算机软、硬件资源的系统(或程序集合);清楚地了解操作系统所处的地位:是裸机之上的第一层软 阅读全文
posted @ 2013-04-19 18:32 某某郝 阅读(484) 评论(0) 推荐(0)
 
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页