当前位置: 首页> 健康> 母婴 > 深圳网络推广方案_编制综合网站平台的公司排名_合作seo公司_环球资源网官方网站

深圳网络推广方案_编制综合网站平台的公司排名_合作seo公司_环球资源网官方网站

时间:2025/7/11 22:59:36来源:https://blog.csdn.net/m0_75163045/article/details/144136103 浏览次数:0次
深圳网络推广方案_编制综合网站平台的公司排名_合作seo公司_环球资源网官方网站

目录

引入

栈和队列

定义

实现

1. 数组实现

1> 栈

2>队列

2. 链表实现

1> 栈

2> 队列


引入

什么是数据结构?

        是数据在内存当中的存储形式而定。

大数据的查询-->用数组:数组在内存当中是连续的内存空间。(数组是可以通过下标去获取数据,遍历数据也方便)

        增删改:---->用链表方便:链表在内存空间不连续(数组删除数据会导致内存空间的不连续,就算从前往后覆盖也麻烦)

  总结

           同样这组数,因为存储形式不同导致的增删改查难易程度不同。

什么是算法?

        对数据进行增删改查  等操作就是算法。


栈和队列

定义

什么是栈和队列?

        没有确定的数据结构形成的数据结构。

解释:

        栈:可以用数组去实现,可以用链表、树、图....

:满足让数据先进后出的特点就是栈。

队列:只要满足先进先出的就是队列。

实现

1. 数组实现

1> 栈

入栈:

出栈:

        出栈的本质就是i--;

 

package com.lojarro.栈和队列;public class StackDemo {//首先声明一个数组private int[] arr;private int i=-1;public StackDemo(int size) {arr=new int[size];}//入栈的方法public void add(int value) {//判断数组是否为满if(i==arr.length-1) {System.out.println("栈已满");return ;}i++;arr[i]=value;}//出栈的方法public int get() {if(i==-1) {System.out.println("栈已空");return -1;}int data=arr[i];i--;return data;}
}
2>队列

        只要满足先进先出的就是队列。

入队:

出队:

还有一种情况:

边放边出队情况。

判断队列满不满,看两个指标之间相差是不是数组的长度。

判断队列空,看两个指标指向是否相同。

 

package com.lojarro.栈和队列;import javax.xml.transform.Source;public class QueueDemo {private int arr[];private int c=0;private int r=0;public QueueDemo(int size) {arr=new int[size];}//数据的添加-入队列public void add(int value) {//判断是否已满if(r-c==arr.length) {System.out.println("队列已满");return ;}arr[r%arr.length]=value;r++;}public void get() {if(c==r) {System.out.println("队列空");return ;}System.out.println(arr[c%arr.length]);c++;}
}

2. 链表实现

1> 栈

只要满足先进后出特点就是。

链表的头插法满足这一特点。

public class Node {public int value;public Node next;public  Node(int data) {value=data;}
}

 

public class Link {Node head=null;public void add(int value) {Node node=new Node(value);if(head==null) {head=node;return ;}node.next=head;head=node;}public void get() {if(head==null) {System.out.println("栈已空");return;}System.out.println(head.value);head=head.next;}
2> 队列

    public void addQueue(int value) {Node node=new Node(value);if(head==null) {head=node;return ;}Node flag=head;while(flag.next!=null) {flag=flag.next;}flag.next=node;}public void getQueue() {if(head==null) {System.out.println("队列已空");return ;}System.out.println(head.value);head=head.next;}
}

关键字:深圳网络推广方案_编制综合网站平台的公司排名_合作seo公司_环球资源网官方网站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: