精华内容
下载资源
问答
  • 项目简述1、修改Lwip协议代码,解决协议不插网线初始化失败问题;2、修改Lwip协议代码,封装接口函数,使用户可从网络层和数据链路层收发数据;3、撰写技术设计文档;4、配合相关软件开发人员测试。注意...

    北京理工大学专业移动通信课题组发布以下项目需求。

    项目简述

    1、修改Lwip协议栈源代码,解决协议栈不插网线初始化失败的问题;

    2、修改Lwip协议栈源代码,封装接口函数,使用户可从网络层和数据链路层收发数据;

    3、撰写技术设计文档;

    4、配合相关软件开发人员测试。

    注意事项

    1、需遵守实验室的安全和保密规定;

    2、不得向他人泄露项目期间所获得的技术资料;

    3、不经课题组同意不得公开发表项目期间所获得的代码、数据及其他研究成果。

    工作地点:北京理工大学中关村校区信息科学实验楼。

    报酬面谈。

    时长:1-2个月。

    联系人:付元力。

    电话:18800159502,微信号:18701288539。

    公众号近期内容回顾

    725767a2aa0fd376a0453d1b8df1481d.gif移动通信网络TDOA定位的新型小波去噪预处理算法

    725767a2aa0fd376a0453d1b8df1481d.gif课题组同学在2019年中国研究生电子设计竞赛中取得佳绩

    725767a2aa0fd376a0453d1b8df1481d.gifVDES陆地子系统物理层设计与实现

    725767a2aa0fd376a0453d1b8df1481d.gif通信辐射源个体识别技术

    725767a2aa0fd376a0453d1b8df1481d.gif多载波专用移动通信系统数字预失真功放线性化技术研究

    725767a2aa0fd376a0453d1b8df1481d.gif课题组同学勇夺研究生电子设计竞赛华北赛区一等奖进军全国总决赛

    725767a2aa0fd376a0453d1b8df1481d.gif使用Iperf进行网络性能测试

    725767a2aa0fd376a0453d1b8df1481d.gif我是怎么发现程序抄袭的


    f1ed1a097a4aadaa812f0696cf881117.png微信号:bitpmcrg欢迎关注北京理工大学专业移动通信组的公共号“北理工通信课题组”714c7c8e8db0dc4385ebbf623eeb9e41.png5aa7ac12b936942f14018e384574854d.png
    展开全文
  • 顺序栈代码更清晰,只允许栈顶进出元素,改变相应数组下标值即可,使用非常方便。但缺点很明显,只要使用数组,必须事先声明数组存储大小,需要多大空间要心里有数,所以可能会空间不够用。解决办法:1、使用链式...
    顺序栈代码更清晰,只允许栈顶进出元素,改变相应数组下标值即可,使用非常方便。但缺点很明显,只要使用数组,必须事先声明数组存储大小,需要多大的空间要心里有数,所以可能会空间不够用。解决办法:1、使用链式栈;2、如果需要两个相同类型的栈,可以公用空间

    如下图:

    31ec83e18f8c1dfde4b5d23b25b5327a.png

    刚开始,top1为-1,top2为size,表示栈1栈2都为空。栈满的时候,栈顶指针挨着,即top1+1==top2;


    代码

    #include #include #define StackElem char#define SIZE 20typedef struct Stack{  StackElem * elem;  int top1;  //栈1的栈顶指针  int top2;  //栈2的栈顶指针  int Size_Stack;  //栈的最大长度}Stack,*StackPtr;void Stack_Init(StackPtr s);  //初始化bool Stack_Push(StackPtr s,StackElem val,int StackNumber );  //val入栈,StackNumber表示哪个栈bool Stack_Pop(StackPtr s,int StackNumber);  //出栈valvoid Stack_Traverse(StackPtr s,int StackNumber);  //遍历int main(void){  Stack s;  Stack_Init(&s);  //push栈1  Stack_Push(&s, 1, 1);  Stack_Push(&s, 2, 1);  Stack_Push(&s, 3, 1);  //push栈2  Stack_Push(&s, 7, 2);  Stack_Push(&s, 8, 2);  Stack_Push(&s, 9, 2);  Stack_Traverse(&s, 1);  printf("\n");  Stack_Traverse(&s, 2);  return 0;}void Stack_Init(StackPtr s){  s->elem = (StackElem*)malloc(sizeof(Stack) * SIZE);  if (NULL == s->elem)  {    printf("内存分配失败,程序结束!");    exit(-1);  }  s->top1 = -1;  s->top2 = SIZE;  s->Size_Stack = SIZE;}bool Stack_Push(StackPtr s,StackElem val, int StackNumber)  {//val入栈,StackNumber表示哪个栈  if (s->top1 + 1 != s->top2)  //说明栈没满  {    if (StackNumber == 1)    {      s->top1++;      s->elem[s->top1] = val;    }    else if (StackNumber == 2)    {      s->top2--;      s->elem[s->top2] = val;    }    return true;  }  else  {    printf("栈已满,入栈失败!");    return false;  }}bool Stack_Pop(StackPtr s,StackElem *val, int StackNumber)  {  if (StackNumber == 1)  //栈1  {    if (s->top1 != -1)  //栈1不为空    {      *val = s->elem[s->top1];  //存放出栈元素的值      s->top1--;      return true;    }    else  //栈1为空    {      printf("栈1为空,出栈失败!");      return false;    }  }  else if (StackNumber == 2)  {    if (s->top2 != SIZE)  //栈2不为空    {      *val = s->elem[s->top2];      s->top2++;      return true;    }    else  //栈2为空    {      printf("栈2为空,出栈失败!");      return false;    }  }}void Stack_Traverse(StackPtr s, int StackNumber){  int i;  if (StackNumber == 1)  {    for (i = s->top1; i > -1; i--)      printf("%d ", s->elem[i]);  }  else if (StackNumber == 2)  {    for (i = s->top2; i < SIZE; i++)      printf("%d ", s->elem[i]);  }}

    运行结果

    84b6de041489ce46ebdf07a81ba88958.png

    展开全文
  • 定义 /** * className:Statck * * @author:zjl * @version:0.1 * @date:2020/7/1512:22 * @since:jdk1.8 */ public class Statck { private int maxSize;//最大容量 private int top;//栈顶指针(始终...

    定义栈

    /**
     * className:Statck
     *
     * @author:zjl
     * @version:0.1
     * @date:2020/7/1512:22
     * @since:jdk1.8
     */
    public class Statck {
    
        private int maxSize;//栈最大容量
        private  int top;//栈顶指针(始终指向栈顶的节点)
        private  Object[] stack;
    
        public Statck(int maxSize) {
            this.maxSize = maxSize;
            this.stack = new Object[maxSize];
            this.top = -1;
        }
    
        public int getMaxSize() {
            return maxSize;
        }
    
        public void setMaxSize(int maxSize) {
            this.maxSize = maxSize;
        }
    
        public int getTop() {
            return top;
        }
    
        public void setTop(int top) {
            this.top = top;
        }
    
        public Object[] getStack() {
            return stack;
        }
    
        public void setStack(Object[] stack) {
            this.stack = stack;
        }
    
    
    }
    
    

    工具类(操作栈的相关方法)

    /**
     * className:Util
     *
     * @author:zjl
     * @version:0.1
     * @date:2020/7/1512:16
     * @since:jdk1.8
     */
    public class Util {
    
        /**
         * 入栈
         * @param obj
         * @param statck
         * @return
         */
        public boolean push(Object obj,Statck statck){
            if(statck.getTop()==statck.getMaxSize()-1)//判断是否栈满
                return false;
            statck.setTop(statck.getTop()+1);
            statck.getStack()[statck.getTop()] = obj;
            return true;
        }
    
        /**
         * 出栈
         * @param statck
         * @return
         */
        public Object pop(Statck statck){
            if(statck.getTop()==-1)//判断是否栈空
                throw new RuntimeException("栈空,出栈失败!");
            Object obj = statck.getStack()[statck.getTop()];
            statck.setTop(statck.getTop()-1);
            return obj;
        }
    
        /**
         * 初始化栈
         * @param statck
         */
        public void initi(Statck statck){
            for (int i = 0; i < statck.getTop(); i++) {
                statck.getStack()[i] = null;
            }
            statck.setTop(-1);
        }
    
        /**
         * 控制台打印栈
         * @param statck
         */
        public void show(Statck statck){
            System.out.println("*************");
            System.out.print("*");
            for (int i = 0; i <=statck.getTop(); i++) {
                System.out.print(statck.getStack()[i]+" ");
            }
            System.out.print("\n*************");
    
        }
    
    }
    
    

    测试类

    /**
     * className:Test
     *
     * @author:zjl
     * @version:0.1
     * @date:2020/7/1512:58
     * @since:jdk1.8
     */
    public class Test {
    
        public static void main(String[] args) {
    
            //建立一个栈
            Statck statck = new Statck(6);
            //实例化工具类
            Util util = new Util();
            //进栈3个元素
            util.push("1",statck);
            util.push("2",statck);
            util.push("3",statck);
            //打印栈
            System.out.println("===================进栈三次后栈状态=================");
            util.show(statck);
            //出栈两个元素
            util.pop(statck);
            util.pop(statck);
            //打印栈
            System.out.println("\n===================出栈两次次后栈状态=================");
            util.show(statck);
            //再进栈5次
            util.push("4",statck);
            util.push("5",statck);
            util.push("6",statck);
            util.push("7",statck);
            util.push("8",statck);
            //打印栈
            System.out.println("\n=============再进栈五次次后栈状态(栈满)==============");
            util.show(statck);
            //尝试再进栈一个元素
            util.push("0",statck);
            //打印栈
            System.out.println("\n====尝试再进栈一次次后栈状态(进栈失败,栈状态不变)====");
            util.show(statck);
            //清空栈(初始化)
            util.initi(statck);
            //打印栈
            System.out.println("\n===================初始化栈(栈空)====================");
            util.show(statck);
    //        //尝试再出栈一次
    //        util.pop(statck);//报出异常
        }
    
    }
    
    

    测试结果(控制台显示)

    在这里插入图片描述
    栈空出栈结果
    在这里插入图片描述

    展开全文
  • 原理图:源代码:public class Mystack {private int[] array; //数组实现public int top = -1; //栈顶指针public Mystack() {// TODO Auto-generated constructor stubarray... //初始化}public Mystack(int maxs...

    原理图:

    cb06c5aeb3c6782301f551d225c8c74e.png

    源代码:

    public class Mystack {

    private int[] array; //数组实现栈

    public int top = -1; //栈顶指针

    public Mystack() {

    // TODO Auto-generated constructor stub

    array = new int[5]; //初始化

    }

    public Mystack(int maxsize) //重载构造方法

    {

    array = new int[maxsize];

    }

    public void push(int value) //添加数据

    {

    ++top;

    array[top] = value;

    }

    public void pop() //移除数据

    {

    System.out.print(array[top]+" ");

    top--;

    }

    public void displayTop() //查看栈顶数据

    {

    System.out.println(array[top]);

    }

    public boolean IsEmpty() //判断是否为空

    {

    return top ==-1;

    }

    public boolean IsFull() //判断是否为满

    {

    return top == array.length-1;

    }

    }

    展开全文
  • 栈:是一种思想,实现将数据以先进后出(FILO:first in last out)方式操作 一、模型:井口 二、数据类型: //宏: #define MAXSIZE 10 //重命名:将int取一个别名:StackType ... //栈的类型: struc...
  • 我们实例化的对象是存在堆内存,实例出来 对象时存在内存 static关键字是在类中描述成员属性和成员方法是静态 static成员能够限制外部访问,因为static成员是属于类,是不属于任何对象实例...
  • 初始化栈利用 这玩意 确实不多 不过 定义变量 初始化确实是一个好习惯==== 先来说一下这个关于 HEVD的代码 看的出来 安全版本 定义变量 并且 初始化 然后往下看 程序逻辑== 然后我们继续看 可以看到 有...
  • /*顺序表实现栈的一系列操作*/#include#include#define Stack_Size 50 //设栈中元素个数为50#define OK 1#define ERROR 0typedefstruct{int elem[Stack_Size]; //用来存放栈中元素的一维数组int top; //用来...
  • 下面是ucos-iii堆栈初始化函数的一段代码(在cortex-M3上移植后) [img=https://img-bbs.csdn.net/upload/201406/23/1403513096_102650.png][/img] 红色框里的代码如何理解?难道说p_stk指向了指针? 如果是...
  • java 数据结构之与队列一:对列队列是一种先进先出数据结构实现代码:package queue;/** 使用java构建队列,并模拟实现队列入队和出对方法*/public class queue { //队列类private int maxsize; //定义队列...
  • 34.栈的初始化

    2019-09-21 12:21:15
    34.栈的初始化 前面知道,uboot的第一阶段是用汇编代码来对硬件等进行初始化的。第二阶段是用C语言的。但是此时没有C语言的运行环境。而C语言的运行需要堆栈等资源。所以这一节是第二阶段的C语言环境运行的栈的...
  • 一、初始化栈 链栈初始化即先构造一个空栈,将栈顶指针top所指头结点指针域置空。 //初始化 LinkedStack Init_LinkedStack() { LinkedStack top=(LinkedStackNode * )malloc (sizeof( LinkedStackNode)); if...
  • [img=... int main() { SqStack *pL;...第一个是我写,第二个是教科书上, ...问题是我有segment fault,请问两个有什么区别。...为什么我是错误?不能用指针初始化栈吗?
  • 做实验的时候,想使用函数来对指向栈的指针初始化,下面是我写的初始化代码: typedef struct { int data[MAXSIZE]; int top; }SeqStack; /*初始化栈*/ void Init_Seqstack(SeqStack *s) { s=new SeqStack; s-&...
  • 当java创建一个对象时,先为该对象所以实例变量分配内存(已加载类前提),然后执行实例变量的初始化,其初始化顺序是,先执行初始化块 或 声明实例变量时初始值(具体执行顺序根据源码实际排序顺序而定),...
  • 标题内存空间布局(区、堆区、代码区、全局区)以及堆空间的初始化 代码区(代码段):用于存放代码 全局区(数据段):用于存放全局变量等 区:当调用一个函数时,系统就会给他分配一段连续的栈空间,等函数...
  • 文章目录顺序栈的操作栈的结构初始化栈进栈栈的长度出栈栈是否为空代码测试 栈的结构 typedef struct node { int *elem;//可以用指针,也可以用数组。 int top;//定义栈的结构 }Node; 初始化栈 bool InitStack...
  • 每一个进程会有一个栈,该进程中的每一个函数会分割栈的一部分,那么每一个函数使用的那部分栈就叫做栈帧。那么所有栈帧组成了整个栈。 子函数func里面保存了main函数的上边界FP和下边界SP。 2、栈的作用 保存...
  • 我希望它能把5个A显示出来,但失败了,实际结果如图: ![图片说明](https://img-ask.csdn.net/upload/201507/31/1438357286_844162.png) P.S. 使用masm5 编译,在VirtualBox上创建DOS7 虚拟机上运行。
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • C语言实现的初始化、出入、销毁、清空等基本操作引言代码运行结果 引言 简单记录一下新学知识,直接上代码代码 #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX ...
  • 栈的顺序存储的初始化、判断栈空、入栈、出栈、读取栈顶元素、栈置空、求栈长操作 代码如下: //栈的顺序存储表示 #include #include #include #define MAXSIZE 100 typedef int ElemType; typedef struct Node...
  • #include using namespace std; /*顺序栈的定义*/ #define Stack_Size 100 typedef struct sqStack { char *elem; int top; int st
  • 今天写了一个栈的初始化,发现初始化失败。代码如下#include &lt;cstdio&gt; #define MaxSize 5 typedef struct{ int data[MaxSize]; int top; }SqStack; void init(SqStack &amp;S){ S.top=-1; S...
  • 有趣的数据结构算法8——栈的初始化、入栈与出栈什么是栈栈的初始化入栈出栈实现代码GITHUB下载连接 新的结构又要出现了。我心里有点害怕,但是! 什么是栈 栈(stack)又名堆栈,它是一种运算受限的线性表。它的...
  • 节选自 RTT编程指南; 在动态创建线程和初始化线程的时候,会使用到内部的线程初始化函数 _rt_thread_init(), _rt_thread_init() 函数会调用栈初始化函数 rt_hw_...下代码是栈初始化的代码: 在里构建上下文 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,695
精华内容 1,478
关键字:

初始化栈的代码