虫虫首页|资源下载|资源专辑|精品软件
登录|注册

Pop

  • 利用栈的基本操作实现将任意一个十进制整数N转化为R进制整数。

    #include <stdlib.h> #include<stdio.h> #include <malloc.h> #define stack_init_size 100 #define stackincrement 10 typedef struct sqstack { int *base; int *top; int stacksize; } sqstack; int StackInit(sqstack *s) { s->base=(int *)malloc(stack_init_size *sizeof(int)); if(!s->base) return 0; s->top=s->base; s->stacksize=stack_init_size; return 1; } int Push(sqstack *s,int e) { if(s->top-s->base>=s->stacksize) { s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int)); if(!s->base) return 0; s->top=s->base+s->stacksize; s->stacksize+=stackincrement; } *(s->top++)=e; return e; } int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=*--s->top; return e; } int stackempty(sqstack *s) { if(s->top==s->base) { return 1; } else { return 0; } } int conversion(sqstack *s) { int n,e=0,flag=0; printf("输入要转化的十进制数:\n"); scanf("%d",&n); printf("要转化为多少进制:\n"); scanf("%d",&flag); printf("将十进制数%d 转化为%d 进制是:\n",n,flag); while(n) { Push(s,n%flag); n=n/flag; } while(!stackempty(s)) { e=Pop(s,e); switch(e) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; default: printf("%d",e); } } printf("\n"); return 0; } int main() { sqstack s; StackInit(&s); conversion(&s); return 0;                        }

    标签: 整数 基本操作 十进制 转化 进制

    上传时间: 2016-12-08

    上传用户:爱你198

  • 数据结构实验

    #include <iostream> #include <stdio.head> #include <stdlib.head> #include <string.head> #define ElemType int #define max 100 using namespace std; typedef struct node1 { ElemType data; struct node1 *next; }Node1,*LinkList;//链栈 typedef struct { ElemType *base; int top; }SqStack;//顺序栈 typedef struct node2 { ElemType data; struct node2 *next; }Node2,*LinkQueue; typedef struct node22 { LinkQueue front; LinkQueue rear; }*LinkList;//链队列 typedef struct { ElemType *base; int front,rear; }SqQueue;//顺序队列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 //1.采用链式存储实现栈的初始化、入栈、出栈操作。 LinkList CreateStack()//创建栈 { LinkList top; top=NULL; return top; } bool StackEmpty(LinkList s)//判断栈是否为空,0代表空 { if(s==NULL) return 0; else return 1; } LinkList Pushead(LinkList s,int x)//入栈 { LinkList q,top=s; q=(LinkList)malloc(sizeof(Node1)); q->data=x; q->next=top; top=q; return top; } LinkList Pop(LinkList s,int &e)//出栈 { if(!StackEmpty(s)) { printf("栈为空。"); } else { e=s->data; LinkList p=s; s=s->next; free(p); } return s; } void DisplayStack(LinkList s)//遍历输出栈中元素 { if(!StackEmpty(s)) printf("栈为空。"); else { wheadile(s!=NULL) { cout<<s->data<<" "; s=s->next; } cout<<endl; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 //2.采用顺序存储实现栈的初始化、入栈、出栈操作。 int StackEmpty(int t)//判断栈S是否为空 { SqStack.top=t; if (SqStack.top==0) return 0; else return 1; } int InitStack() { SqStack.top=0; return SqStack.top; } int pushead(int t,int e) { SqStack.top=t; SqStack.base[++SqStack.top]=e; return SqStack.top; } int Pop(int t,int *e)//出栈 { SqStack.top=t; if(!StackEmpty(SqStack.top)) { printf("栈为空."); return SqStack.top; } *e=SqStack.base[s.top]; SqStack.top--; return SqStack.top; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 //3.采用链式存储实现队列的初始化、入队、出队操作。 LinkList InitQueue()//创建 { LinkList head; head->rear=(LinkQueue)malloc(sizeof(Node)); head->front=head->rear; head->front->next=NULL; return head; } void deleteEle(LinkList head,int &e)//出队 { LinkQueue p; p=head->front->next; e=p->data; head->front->next=p->next; if(head->rear==p) head->rear=head->front; free(p); } void EnQueue(LinkList head,int e)//入队 { LinkQueue p=(LinkQueue)malloc(sizeof(Node)); p->data=e; p->next=NULL; head->rear->next=p; head->rear=p; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //4.采用顺序存储实现循环队列的初始化、入队、出队操作。 bool InitQueue(SqQueue &head)//创建队列 { head.data=(int *)malloc(sizeof(int)); head.front=head.rear=0; return 1; } bool EnQueue(SqQueue &head,int e)//入队 { if((head.rear+1)%MAXQSIZE==head.front) { printf("队列已满\n"); return 0; } head.data[head.rear]=e; head.rear=(head.rear+1)%MAXQSIZE; return 1; } int QueueLengthead(SqQueue &head)//返回队列长度 { return (head.rear-head.front+MAXQSIZE)%MAXQSIZE; } bool deleteEle(SqQueue &head,int &e)//出队 { if(head.front==head.rear) { cout<<"队列为空!"<<endl; return 0; } e=head.data[head.front]; head.front=(head.front+1)%MAXQSIZE; return 1; } int gethead(SqQueue head)//得到队列头元素 { return head.data[head.front]; } int QueueEmpty(SqQueue head)//判断队列是否为空 { if (head.front==head.rear) return 1; else return 0; } void travelQueue(SqQueue head)//遍历输出 { wheadile(head.front!=head.rear) { printf("%d ",head.data[head.front]); head.front=(head.front+1)%MAXQSIZE; } cout<<endl; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 //5.在主函数中设计一个简单的菜单,分别测试上述算法。 int main() { LinkList top=CreateStack(); int x; wheadile(scanf("%d",&x)!=-1) { top=Pushead(top,x); } int e; wheadile(StackEmpty(top)) { top=Pop(top,e); printf("%d ",e); }//以上是链栈的测试 int top=InitStack(); int x; wheadile(cin>>x) top=pushead(top,x); int e; wheadile(StackEmpty(top)) { top=Pop(top,&e); printf("%d ",e); }//以上是顺序栈的测试 LinkList Q; Q=InitQueue(); int x; wheadile(scanf("%d",&x)!=-1) { EnQueue(Q,x); } int e; wheadile(Q) { deleteEle(Q,e); printf("%d ",e); }//以上是链队列的测试 SqQueue Q1; InitQueue(Q1); int x; wheadile(scanf("%d",&x)!=-1) { EnQueue(Q1,x); } int e; wheadile(QueueEmpty(Q1)) { deleteEle(Q1,e); printf("%d ",e); } return 0; }

    标签: 数据结构 实验

    上传时间: 2018-05-09

    上传用户:123456..

  • 网络是怎样连接的_户根勤

    网络是怎样连接的_户根勤---解压密码:666666目录浏览器生成消息 1——探索浏览器内部1.1 生成HTTP 请求消息51.1.1 探索之旅从输入网址开始 51.1.2 浏览器先要解析URL 71.1.3 省略文件名的情况 91.1.4 HTTP 的基本思路 101.1.5 生成HTTP 请求消息 141.1.6 发送请求后会收到响应 201.2 向DNS 服务器查询Web服务器的IP 地址241.2.1 IP 地址的基本知识 241.2.2 域名和IP 地址并用的理由 281.2.3 Socket库提供查询IP 地址的功能 301.2.4 通过解析器向DNS 服务器发出查询 311.2.5 解析器的内部原理 321.3 全世界DNS 服务器的大接力351.3.1 DNS 服务器的基本工作 351.3.2 域名的层次结构 381.3.3 寻找相应的DNS 服务器并获取IP 地址 401.3.4 通过缓存加快DNS 服务器的响应 441.4 委托协议栈发送消息451.4.1 数据收发操作概览 451.4.2 创建套接字阶段 481.4.3 连接阶段:把管道接上去 501.4.4 通信阶段:传递消息 521.4.5 断开阶段:收发数据结束 53COLUMN 网络术语其实很简单怪杰Resolver 55第章11920用电信号传输TCP/IP 数据 57——探索协议栈和网卡2.1创建套接字 612.1.1 协议栈的内部结构 612.1.2 套接字的实体就是通信控制信息 632.1.3 调用socket 时的操作 662.2 连接服务器682.2.1 连接是什么意思 682.2.2 负责保存控制信息的头部 702.2.3 连接操作的实际过程 732.3 收发数据752.3.1 将HTTP 请求消息交给协议栈 752.3.2 对较大的数据进行拆分 782.3.3 使用ACK 号确认网络包已收到 792.3.4 根据网络包平均往返时间调整ACK 号等待时间 832.3.5 使用窗口有效管理ACK 号 842.3.6 ACK 与窗口的合并 872.3.7 接收HTTP 响应消息 892.4 从服务器断开并删除套接字902.4.1 数据发送完毕后断开连接 902.4.2 删除套接字 922.4.3 数据收发操作小结 932.5 IP 与以太网的包收发操作952.5.1 包的基本知识 952.5.2 包收发操作概览 992.5.3 生成包含接收方IP 地址的IP 头部 1022.5.4 生成以太网用的MAC 头部 1062.5.5 通过ARP 查询目标路由器的MAC 地址 1082.5.6 以太网的基本知识 1112.5.7 将IP 包转换成电或光信号发送出去 1142.5.8 给网络包再加3 个控制数据 1162.5.9 向集线器发送网络包 1202.5.10 接收返回包 1232.5.11 将服务器的响应包从IP 传递给TCP 1252.6 UDP 协议的收发操作1282.6.1 不需要重发的数据用UDP 发送更高效 128第章22.6.2 控制用的短数据 1292.6.3 音频和视频数据 130COLUMN 网络术语其实很简单插进Socket 里的是灯泡还是程序 132从网线到网络设备 135——探索集线器、交换机和路由器3.1 信号在网线和集线器中传输1393.1.1 每个包都是独立传输的 1393.1.2 防止网线中的信号衰减很重要 1403.1.3 “双绞”是为了抑制噪声 1413.1.4 集线器将信号发往所有线路 1463.2 交换机的包转发操作1493.2.1 交换机根据地址表进行转发 1493.2.2 MAC 地址表的维护 1533.2.3 特殊操作 1543.2.4 全双工模式可以同时进行发送和接收 1553.2.5 自动协商:确定最优的传输速率 1563.2.6 交换机可同时执行多个转发操作 1593.3 路由器的包转发操作1593.3.1 路由器的基本知识 1593.3.2 路由表中的信息 1623.3.3 路由器的包接收操作 1663.3.4 查询路由表确定输出端口 1663.3.5 找不到匹配路由时选择默认路由 1683.3.6 包的有效期 1693.3.7 通过分片功能拆分大网络包 1703.3.8 路由器的发送操作和计算机相同 1723.3.9 路由器与交换机的关系 1733.4 路由器的附加功能1763.4.1 通过地址转换有效利用IP 地址 1763.4.2 地址转换的基本原理 1783.4.3 改写端口号的原因 1803.4.4 从互联网访问公司内网 1813.4.5 路由器的包过滤功能 182第章32122COLUMN 网络术语其实很简单集线器和路由器,换个名字身价翻倍? 184通过接入网进入互联网内部 187——探索接入网和网络运营商4.1 ADSL 接入网的结构和工作方式1914.1.1 互联网的基本结构和家庭、公司网络是相同的 1914.1.2 连接用户与互联网的接入网 1924.1.3 ADSL Modem 将包拆分成信元 1934.1.4 ADSL 将信元“调制”成信号 1974.1.5 ADSL 通过使用多个波来提高速率 2004.1.6 分离器的作用 2014.1.7 从用户到电话局 2034.1.8 噪声的干扰 2044.1.9 通过DSLAM 到达BAS 2054.2 光纤接入网(FTTH)2064.2.1 光纤的基本知识 2064.2.2 单模与多模 2084.2.3 通过光纤分路来降低成本 2134.3 接入网中使用的PPP 和隧道2174.3.1 用户认证和配置下发 2174.3.2 在以太网上传输PPP 消息 2194.3.3 通过隧道将网络包发送给运营商 2234.3.4 接入网的整体工作过程 2254.3.5 不分配IP 地址的无编号端口 2284.3.6 互联网接入路由器将私有地址转换成公有地址 2284.3.7 除PPPoE 之外的其他方式 2304.4 网络运营商的内部2334.4.1 Pop 和NOC 2334.4.2 室外通信线路的连接 2364.5 跨越运营商的网络包2384.5.1 运营商之间的连接 2384.5.2 运营商之间的路由信息交换 2394.5.3 与公司网络中自动更新路由表机制的区别 2414.5.4 IX 的必要性 2424.5.5 运营商如何通过IX 互相连接 243第章4COLUMN 网络术语其实很简单名字叫服务器,其实是路由器 246服务器端的局域网中有什么玄机 2495.1 Web 服务器的部署地点2535.1.1 在公司里部署Web 服务器 2535.1.2 将Web 服务器部署在数据中心 2555.2 防火墙的结构和原理2565.2.1 主流的包过滤方式 2565.2.2 如何设置包过滤的规则 2565.2.3 通过端口号限定应用程序 2605.2.4 通过控制位判断连接方向 2605.2.5 从公司内网访问公开区域的规则 2625.2.6 从外部无法访问公司内网 2625.2.7 通过防火墙 2635.2.8 防火墙无法抵御的攻击 2645.3 通过将请求平均分配给多台服务器来平衡负载2655.3.1 性能不足时需要负载均衡 2655.3.2 使用负载均衡器分配访问 2665.4 使用缓存服务器分担负载2705.4.1 如何使用缓存服务器 2705.4.2 缓存服务器通过更新时间管理内容 2715.4.3 最原始的代理——正向代理 2765.4.4 正向代理的改良版——反向代理 2785.4.5 透明代理 2795.5 内容分发服务2805.5.1 利用内容分发服务分担负载 2805.5.2 如何找到最近的缓存服务器 2825.5.3 通过重定向服务器分配访问目标 2855.5.4 缓存的更新方法会影响性能 287COLUMN 网络术语其实很简单当通信线路变成局域网 291第章52324请求到达Web 服务器,响应返回浏览器 293——短短几秒的“漫长旅程”迎来终点6.1 服务器概览2976.1.1 客户端与服务器的区别 2976.1.2 服务器程序的结构 2976.1.3 服务器端的套接字和端口号 2996.2 服务器的接收操作3056.2.1 网卡将接收到的信号转换成数字信息 3056.2.2 IP 模块的接收操作 3086.2.3 TCP 模块如何处理连接包 3096.2.4 TCP 模块如何处理数据包 3116.2.5 TCP 模块的断开操作 3126.3 Web 服务器程序解释请求消息并作出响应3136.3.1 将请求的URI 转换为实际的文件名 3136.3.2 运行CGI 程序 3166.3.3 Web 服务器的访问控制 3196.3.4 返回响应消息 3236.4 浏览器接收响应消息并显示内容3236.4.1 通过响应的数据类型判断其中的内容 3236.4.2 浏览器显示网页内容!访问完成! 326COLUMN 网络术语其实很简单Gateway 是通往异世界的入口 328附录 330后记 334致谢 334作者简介 335

    标签: 网络

    上传时间: 2022-06-02

    上传用户:fliang

  • protel 99SE实用增强工具,用作LOGO很方便。

    软件说明:   使用方法:(同BMP2PCB,只能导入黑白BMP文件.)关于比例:方法1) 对于经过图像处理软件处理过的BMP文件,由于比例已改变,可以先在PROTEL99SE的PCB里       按PCB实物大小画好KEEP层的外框,以便确定板大小,       Place Graphics Options选项中,Placement Mode设置为Placement Rectang;       导入BMP时,图片的起点定位KEEP外框的左下角,终点定位在KEEP外框的右上角即可.方法2) 对于1:1扫描BMP文件,设置选项里,Place Graphics Options选项中,       Placement Mode设置为Cursor;Scale设置为3.35;怎样在中文汉化版里编辑菜单:1. 打开PROTEL99SE,在PCB环境里,点左上角下键头,选择第二项;2. 点菜单右上角的MENU按钮,选EDIT;3. 点击菜单右上角的MENU按钮,选Expand ALL;4. 在菜单中找到选择向导 这一项,在其下面点击右键,选ADD(添加);5. 在下面TEXT栏目里修改名成为:Klipper (Y for Pop up){Y};6. 在Klipper下面点击右键,选ADD(添加);7. 在下面TEXT栏目里修改成为&Copy to Windows Clipboard,并在PROCES栏目后面   点BROWSE指向Klipper99se:copyToWindowsclipboaed, PARAM栏目里点后面的INFO指向$Description=copy to zhe windows clipboard;8. 重复6,7步骤:依次建立下:     键名称(TEXT):  Klipper          以下为子菜单:        &Copy to Windows Clipboard ;         BROWSE : Klipper99se:copyToWindows clipboaed,       PARAM: $Description=copy to zhe windows           (复制到WINDOWS剪贴板)         &Paste From Windows Clipboard;       PROCES: Klipper99se:PasteFromWindowsClipoard;       PARAM: $Description=Paste From the Windows Clipoard;           (WINDOWS剪贴板粘帖)        Place &Graphic;                      PROCES: Klipper99se:PlaceGraphic;                   PARAM: $Description=Place Graphic using Klipper;           (放置BMP图片)        &Klipper Preferences                 PROCES: Klipper99se:KlipperPreferences;             PARAM: $Description=Klipper Sst up;           (设置参数)

    标签: protel99SE

    上传时间: 2022-07-11

    上传用户:20125101110

  • VIP专区-单片机源代码精选合集系列(43)

    eeworm.com VIP专区 单片机源码系列 43资源包含以下内容:1. 用移位寄存器制作步进电机驱动电路.pdf2. 电子设计大赛点阵电子显示屏(A题)20页 0.2M.pdf3. C语言求鞍点.docx4. C语言程序设计(第三版)-谭浩强.ppt5. 巧用8051单片机的奇偶校验位.pdf6. 8.8LED点阵字库软件.rar7. 新编MCS-51单片机应用设计.pdf8. 51汇编指令表.xls9. 单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf10. 初学者很实用的51单片机35个源程序案例.rar11. MEGA16单片机用TC1定时器制作的秒表.rar12. wnbond 51 timer tool.exe13. 电阻并联计算器(计算电阻的小软件).exe14. 51单片机串行口初值计算器.exe15. 汉字LED点阵显示.doc16. 电动车跷跷板.zip17. keil C51 UV2调试命令(中文版).pdf18. 心电图程序.rar19. 串口通讯(查询方式)实验成功.rar20. PCB器件示意图.pdf21. 基于AVR单片机的木材含水率测试系统设计.pdf22. 51单片机c语言教程全集.doc23. 51单片机教程.rar24. 合工大--单片微型计算机技术资料.rar25. msp430f149 datasheet.pdf26. ds1302时钟.rar27. MSP430反汇编.exe28. TI省级电赛题.rar29. 单片机设计存档.rar30. 温湿度传感器DHT11.doc31. 生命沙漏核心算法.rar32. 基于P89V51RD2单片机LED点阵显示屏的实现.zip33. 基于DMA控制器的UART串行通信设计.zip34. 智能对线仪源代码.doc35. 基于C8051F单片机的便携式采集终端的设计.zip36. 一种新型太阳能热水器控制电路的设计.pdf37. 上海交大SpeedStar技术报告_智能小车.pdf38. 基于BASIC Stamp核心设计温度记录系统.zip39. C陷阱与缺陷.pdf40. STC单片机波特率计算器.rar41. PC104对OV7670寄存器的读写.zip42. 超易单片机入门(小学生都能看得懂的PIC教程).doc43. C51汉字解决方案.rar44. MSP430单片机在PTN产品中的应用.zip45. 中文点阵字库的使用方法.rar46. 数码管引脚图.doc47. 单片机系统指纹模块的使用.pdf48. 单片机毕业论文 一些设计.rar49. 情景三 中断和定时器的应用.ppt50. 单片机与RD-D型微打使用说明.PDF51. 2012年MCU技术交流大会.pdf52. 单片机外围电路扩展.ppt53. 单片机基础.pdf54. 有报警功能的密码开关.zip55. 心形流水灯程序.rar56. 单片机的串行扩展技术.doc57. 精简型mcu 的两个介绍.pdf58. 抢答器电路+程序.rar59. 51单片机C语言应用程序设计实例精讲(第二版)part01.pdf60. 点阵资料.pdf61. 单片微型计算机的初步认知.ppt62. proteus仿真元件库元件名称.doc63. USB转串口驱动程序.rar64. 红外遥控的单片机解码.pdf65. 汇编指令大全+很全的汇编指令.pdf66. 新手学单片机,前期所有实验汇总(汇编语言).rar67. C8051F340单片机开发板学习.rar68. 数码表(汇编).rar69. 轻松学数字电路.doc70. 单片机延时计算小程序.exe71. 基本电子概念.doc72. 51单片机开发入门与典型实例.rar73. 12864图形液晶显示模块与51系列单片机接口技术.pdf74. 交通灯的单片机控制.doc75. 计程车计价毕业设计.rar76. ARM芯片 Pop文本显示器 编程软件 下载!.exe77. 430单片机的设计.doc78. 简单交通灯.zip79. USB转TTL原理图.pdf80. 利用触键唤醒中断完成外部中断.rar81. ADC0808 Basic.zip82. 单片机实验箱使用手册—删节版.doc83. 步进电机汽车仪表.pdf84. 可控电子时钟程序.doc85. AU6331方案SD卡读卡器电路原理图.rar86. MB9BF50中文外设手册.pdf87. 七段LED显示驱动码查询器.zip88. 54-74HC全系列高速CMOS速查手册.rar89. AVR单片机C语言开发入门指导(1).pdf90. 51串行通信例程.rar91. 低功耗设计综述.rar92. 用VB编写上位机实例.doc93. 51单片机汇编指令周期表.doc94. 计数器程序.doc95. labview串口.pdf96. S3C44B0X-datasheet.pdf97. 51单片机编程.docx98. Keil C51语言使用技巧及实战.pdf99. 谭浩强c语言.exe100. C51初级红板-PL2303.pdf

    标签: 电器 生产厂 电磁铁

    上传时间: 2013-05-25

    上传用户:eeworm

  • SPYNET.RAR

    SpyNet Sniffer是个极好的网络监听工具,包含telnet, Pop, ICQ, HTTP, login等等。可以告诉你不仅谁连接到你的系统,而且告诉你他们正在做什么,如果有人攻击你的系统, SpyNet Sniffer可以攫取证据。

    标签: 电磁铁 应用设计 计算方法

    上传时间: 2013-04-15

    上传用户:eeworm