自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 栈和队列

栈#includeusing namespace std;//栈先进后出 //队列先进先出 template class stack{public: stack() :_arr(NULL) , _size(0) , _capacity(5) { /*for (int i = 0; i < _size; i++) { arr[i] = _a

2017-08-07 23:53:20 160

原创 两个栈实现一个队列

#include#includeusing namespace std;//两个栈实现一队列 栈先进后出templateclass Queue{public: Queue() {} void Push(const T& x) { stack* tmp=NULL; if (!s1.empty())// { tmp = &s1; } else {

2017-08-07 23:50:15 145

原创 出栈入栈合理性

出栈入栈合理性,用两指针指向两数组,创建一新栈来存储元素。对于入栈数组的指针一直往下走,并入栈,当与出栈数组元素相等时,让栈中的元素pop,还原入栈出栈的过程。如果在这种情况下不处理的话,会导致入栈数组元素一直往下走,若入栈较多元素后连续出栈,会导致判断失误(入栈元素一直往后走,而之前早入栈的元素会没有处理到)。可以让出栈元素往后走并与栈顶元素比较(用栈的size来做循环条件)stack.

2017-08-07 23:00:22 474

原创 约瑟夫环

约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。void Joseph_Ring(pLinkList plist,int m)//约瑟夫环{ pLinkNode cur = plist->_pHead;

2017-07-27 18:46:45 229

原创 链表相交及交点求解

对于链表相交要分几种情况1、两无环单链表相交2、一无环与一有环链表不可能相交3、两有环链表相交pLinkNode Noloop_Point(pLinkList plist1, pLinkList plist2){ //两无环链表相交 pLinkNode p1 = Check_Loop(plist1); pLinkNode p2 = Check_Loop(plist

2017-07-27 18:42:42 268

原创 有环链表相关

判断链表是否有环,采用快慢指针相关思想,若无环则不会相遇pLinkNode Check_Loop(pLinkList plist) //快慢指针类似方法,若链表带环则会相遇{ assert(plist); pLinkNode fast = plist->_pHead; pLinkNode slow = plist->_pHead; /*fast = plist->_pHead

2017-07-26 12:15:29 188

原创 单链表

LinkList.h#include#include#includetypedef int DataType;typedef struct LinkNode{ DataType _data; struct LinkNode* next;}LinkNode,*pLinkNode;typedef struct LinkList{ LinkNode* _pHead;}Li

2017-07-25 22:05:07 152

原创 合并两链表

合并两链表,在对两有序链表应该做较详尽的分析1.一链表为空则合并结果为另一链表。2.合并过程中的大小比较。(为减少开辟节点所占空间,可以比较两链表第一个节点元素大小,并将头节点直接赋给新节点)3.两链表长度不同时的处理。List.h#include#include#includetypedef int DataType;typedef struct LinkNode

2017-07-25 21:08:42 162

原创 ARP协议

ARP协议作用:       OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layer interface)。IP地址在第三层, MAC地址在第二层。在网络通讯时,协议在发送数据包时,得先封装第三层(IP地址),第二层(MAC地址)的报头, 源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先被网卡接收到再去处理上层协议,如果接收后的数据

2017-06-24 09:45:23 256

原创 端口相关知识及CRC校验

计算机端口     计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,比如用于浏览网页服务的80端 口,用于FTP服务的21端口等等。

2017-06-19 09:37:25 2305

原创 守护进程

守护进程:在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。守护进程也称精灵进程。特点:

2017-06-18 11:19:18 200

原创 红黑树简单实现

红黑树特点:1.根节点为黑色2.每个红色节点的左右孩子为黑色节点,即无连续的红结点3.每条路径上的黑色节点相等4.最长路径不超过最短路径的二倍创建红黑树,在插入节点后(默认插入节点颜色为红色),要对红黑树进行判断并调整当父节点为红色(以下情况均是父节点为祖父节点左孩子,而父节点为祖父右孩子推理可得)相关代码:bool Insert(const

2017-04-10 13:40:56 224

原创 静态顺序表

SeqList.h#include#include #include #define MAX_SIZE 100typedef int DataType;typedef struct Seqlist{ DataType arr[MAX_SIZE];//顺序表的最大容量 int sz;//当前顺序表的容量}Seqlist,*PSeqList;void InitSeqL

2016-09-10 17:08:58 189

原创 通讯录动态实现

contact.h#include#include #include#include #include #include #ifdef __CONTACT__H_#endif __CONTACT__H_#define NAM_MAX 10#define SEX_MAX 5#define TEL_MAX 12#define ADDR_MAX 10#defi

2016-09-08 16:02:30 192

原创 实现字符串逆序存储

当使用函数来实现字符串逆序时,利用循环,使用一临时变量先保存首字符,再实现交换首尾字符串#include#include#include //递归实现字符串逆序void reverse(char *str){ int len=strlen(str); char tmp=*str; *str=*(str+len-1); *(str+len-1)='\0';

2016-08-08 14:01:47 810

原创 通讯录1

contact.h#include#include #include#include #ifdef __CONTACT__H_#endif __CONTACT__H_#define NAM_MAX 10#define SEX_MAX 5#define TEL_MAX 12#define ADDR_MAX 10#define MAX 1000typedef struc

2016-08-08 13:24:11 243

原创 找出单独的这些整形数

一整形数组中只有一个数出现一次,其他数成对出现,编程求取这个数利用异或,相异为1,相同为0,且是采用位运算(利用二进制位),循环整个数组,相同的数异或后为全零,与单独的这个整数异或后,仍为它本身,则找到。。。。。int find(int *arr,int sz){ int i=0; int n=0; for(i=0;i<sz;i++) { n ^= arr[i];

2016-07-26 11:47:49 168

原创 某些磨人的小程序

#include#include int main(){ int a=0,b=0,c=0,d=0,e=0; for(a=1;a<=5;a++) { for(b=1;b<=5;b++) { for(c=1;c<=5;c++) { for(d=1;d<=5;d++) { for(e=1;e<=5;e++) { if(

2016-07-04 18:41:37 260 1

原创 某数二进制位中1的个数

在求某数的二进制时,我们通常首先想到的是连除2的方法来求解,对于这道题,我们同样可以这样,再利用计数器数出1的个数#include int count_one_bits( int n){ int count=0; while(n) { if(n%2==1) { count++; } n=n/2; } return count;}int main(){

2016-06-13 13:26:58 156

原创 指针 数组

1.指针:  int a=10;  int *b=&a;       变量b被声明为指针,并用其他变量的地址予以初始化。指针的初始化是用&操作符完成的,用于产生操作数的内存地址。2.数组:                      int a;                      int b[10];       变量b为数组,当下标和数组名一起使用,用于标识该数

2016-04-27 21:51:17 268

空空如也

空空如也

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

TA关注的人

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