#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..
STM32L475开发板PDF原理图+AD集成3D封装库+主要器件技术手册,集成封装库型号列表如下:Library Component Count : 44Name Description----------------------------------------------------------------------------------------------------ANT-2.4G ANT,2.4G,PCB天线ATK-TEST-1*4-2.54mm 测试点ATK_MODULE 单排母,1*6,2.54mmBEEP 3.3V有源蜂鸣器BUTTON_DIP3 拨动开关SS-12F44C-0402-SMD C-0603-SMD C-CAP-SMD-220uF/10V C-CEP-220uF/16V D-1N4148 Header-1*3-2.54mm 单排针-2.54mmHeader-2*10-2.54mm 双排针-2.54mmHeader-2*2-2.54mm 双排针-2.54mmHeader-2*3-2.54mm 双排针-2.54mmHeader-2*4-2.54mm 双排座-2.54mmIR-LED 1206红外发射管(侧)IR-LF0038GKLL-1 红外接收管SMDJ-MICRO-USB-5S Micro USB 5.9有柱脚长1.25加长针L-0420-4.7uH 电感,4.7uH,3ALCD-TFT-H13TS38A LCD,TFT,1.3'240*240,禹龙LED-0603-RED 发光二极管-红色LED-RGB-1615-0603 RGB,共阳,1615,0603MIC-6022 MICMotor-SMD 电机,SMDPhone-3-M 耳机座,三节R-0402-SMD 贴片电阻R-0805-SMD 贴片电阻RT9193-3.3S-KEY-SMD-324225 KEY,SMD,324225S8050-SMD SD-MICRO-TF SD,MICRO,TFU-AHT10 Sensor,温湿度传感器U-AP3216C Sensor.光照/距离U-AP6181 WIFI Module,SDIOU-ES8388 AUDIO,2-ch DAC,2-ch ADCU-ICM-20608 三轴陀螺仪/三轴加速度计,U-L9110S 电机驱动,800mAU-RT9013-3.3 LDO,500mAU-STM32F103C8T6 U-STM32L475VET6 MCU,LQFP100,512K FLASH,128K RAMU-W25Q128 SPI FLASH,16MY-12M-SMD 晶振 - 12M贴片Y-3215-32.768K XTAL,3215,32.768KY-3215-8M XTAL,3215,8MHz
上传时间: 2021-12-15
上传用户:
一般调用元件的话,使用PartGallery的search功能都能找到相应的器件。注意MaST IOLAMS这里有两种不同语言描述的元件,一般不能同时在一张原理图中使用。在PartGallery中browse目录按照大的应用领域和市场领域划分。比喻Elctrical目录下包含一些电气行业相关的模型。1.翻转元件:选中该元件(可选多个),按R键,可实现90度翻转。按F键可实现180度翻转。2.电容或电感初始电压或电流值设置:在电容或电感元件的属性里有一项ic设置,默认未设置(undef),设置其为想要的值即可。3.Saber中,设置元件属性时,不能带任何单位符号,如电阻的“9,”电压的“V”时间的“S等,否则saber会报错。4.Saber中,仿真文件名不能和元件库中的元件同名,否则会报错。5.Saber中,原理图名称最好不要与路径名中有重复,否则会报错。6.原理图放大或缩小:按“page up或”“page down即可7.局部放大显示波形:直接拖动鼠标放大,或按“page up即可8.恢复波形显示原始大小:按“page down,”在右键菜单里点“zoom→tofi即可”9.按鼠标中键可拖动整个原理图包括波形显示图。
标签: saber
上传时间: 2022-07-23
上传用户:
1.2 源代码表示不考虑主题,列举 15 000行源代码本身就是一件难事。下面是所有源代码都使用的文本格式:1.2.1 将拥塞窗口设置为13 8 7 - 3 8 8 这是文件t c p _ s u b r . c中的函数t c p _ q u e n c h。这些源文件名引用4 . 4 B S D - L i t e发布的文件。4 . 4 B S D在1 . 1 3节中讨论。每个非空白行都有编号。正文所描述的代码的起始和结束位置的行号记于行开始处,如本段所示。有时在段前有一个简短的描述性题头,对所描述的代码提供一个概述。这些源代码同4 . 4 B S D - L i t e发行版一样,偶尔也包含一些错误,在遇到时我们会提出来并加以讨论,偶尔还包括一些原作者的编者评论。这些代码已通过了 G N U缩进程序的运行,使它们从版面上看起来具有一致性。制表符的位置被设置成 4个栏的界线使得这些行在一个页面中显示得很合适。在定义常量时,有些 # i f d e f语句和它们的对应语句 # e n d i f被删去(如:G A T E W A Y和M R O U T I N G,因为我们假设系统被作为一个路由器或多播路由器 )。所有r e g i s t e r说明符被删去。有些地方加了一些注释,并且一些注释中的印刷错误被修改了,但代码的其他部分被保留下来。这些函数大小不一,从几行 (如前面的t c p _ q u e n c h)到最大11 0 0行(t c p _ i n p u t)。超过大约4 0行的函数一般被分成段,一段一段地显示。虽然尽量使代码和相应的描述文字放在同一页或对开的两页上,但为了节约版面,不可能完全做到。本书中有很多对其他函数的交叉引用。为了避免给每个引用都添加一个图号和页码,书封底内页中有一个本书中描述的所有函数和宏的字母交叉引用表和描述的起始页码。因为本书的源代码来自公开的 4 . 4 B S D _ L i t e版,因此很容易获得它的一个拷贝:附录 B详细说明了各种方法。当你阅读文章时,有时它会帮助你搜索一个在线拷贝 [例如U n i x程序grep ( 1 )]。描述一个源代码模块的各章通常以所讨论的源文件的列表开始,接着是全局变量、代码维护的相关统计以及一个实际系统的一些例子统计,最后是与所描述协议相关的 S N M P变量。全局变量的定义通常跨越各种源文件和头文件,因此我们将它们集中到的一个表中以便于参考。这样显示所有的统计,简化了后面当统计更新时对代码的讨论。卷 1的第2 5章提供了S N M P的所有细节。我们在本文中关心的是由内核中的 T C P / I P例程维护的、支持在系统上运行的S N M P代理的信息。TCP IP详解 卷1协议 :http://dl.21ic.com/download/tcpip-288223.html TCP IP详解 卷2实现 :http://dl.21ic.com/download/tcpip-288224.html TCPIP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议 :http://dl.21ic.com/download/tcpip-288225.html
上传时间: 2022-07-27
上传用户:
置换代换密码体制的S-P盒的发生器,能随机产生S盒和P盒,用于置换代换密码体制的加密解密
上传时间: 2014-01-16
上传用户:王小奇
此代码实现S-P密码的加密解密,在这个实验中用到了S盒和P盒随机发生器
上传时间: 2014-10-13
上传用户:yuchunhai1990
基于java的完整的RSA算法实现 /** * <p>Titre : RSA </p> * <p>Description : Encodage de donn閑s selon le protocole RSA </p> * <p>Copyright : Copyright (c) 2004</p> * @author Fran鏾is Bradette * @version 1.1 * version originale de Robert Sedgewick and Kevin Wayne.Copyright ? 2004 * pris sur le site http://www.cs.princeton.edu/introcs/104crypto/RSA.java.html * Modifier par Fran鏾is Bradette */
标签: Description RSA Encodage gt
上传时间: 2014-01-10
上传用户:时代电子小智
含t h r e a d x,u c o s 的b s p
标签:
上传时间: 2015-06-29
上传用户:xfbs821
介绍一个基于U S B 2 . 0 接口和D S P 的高速数据采集处理系统的工作原理设计及实现该高速数据 采集处理系统采用TI 公司的TMS320C6000 数字信号处理器和Cypress 公司的USB2.0 接口芯片可 以实现高速采集和实时处理有着广泛的应用前景
上传时间: 2013-11-27
上传用户:koulian
上下文无关文法(Context-Free Grammar, CFG)是一个4元组G=(V, T, S, P),其中,V和T是不相交的有限集,S∈V,P是一组有限的产生式规则集,形如A→α,其中A∈V,且α∈(V∪T)*。V的元素称为非终结符,T的元素称为终结符,S是一个特殊的非终结符,称为文法开始符。 设G=(V, T, S, P)是一个CFG,则G产生的语言是所有可由G产生的字符串组成的集合,即L(G)={x∈T* | Sx}。一个语言L是上下文无关语言(Context-Free Language, CFL),当且仅当存在一个CFG G,使得L=L(G)。 *⇒ 例如,设文法G:S→AB A→aA|a B→bB|b 则L(G)={a^nb^m | n,m>=1} 其中非终结符都是大写字母,开始符都是S,终结符都是小写字母。
标签: Context-Free Grammar CFG
上传时间: 2013-12-10
上传用户:gaojiao1999