首页 > 其他分享 >LinkedList模拟栈数据结构的集合,并测试

LinkedList模拟栈数据结构的集合,并测试

时间:2024-08-11 22:38:44浏览次数:8  
标签:LinkedList list1 System myStack 数据结构 public 模拟 linkedList

package com.shujia.day13;

import java.util.LinkedList;

/*
    LinkedList
    请用LinkedList模拟栈数据结构的集合,并测试
    栈:先进后出

    题目的要求是:自己创建一个类,将LinkedList作为成员变量,将来创建自己的类对象,使用自己的方法,但是底层用的是LinkedList中的方法

 */
public class LinkedListTest1 {
    public static void main(String[] args) {
//        LinkedList list1 = new LinkedList();
//
//        list1.add("hello");
//        list1.add("world");
//        list1.add("java");
//        list1.add("hadoop");
//        System.out.println("list1: " + list1);
//
//        System.out.println("----------------------------------");
//        for (int i = list1.size() - 1; i >= 0; i--) {
//            System.out.println(list1.remove(i));
//        }

        /*
            如果按照上面的做法解题,0分。
         */
        MyStack myStack = new MyStack();
        myStack.shujiaAdd("hello");
        myStack.shujiaAdd("world");
        myStack.shujiaAdd("java");
        myStack.shujiaAdd("hadoop");
        System.out.println(myStack);
        System.out.println("===========================");

        for (int i = myStack.stackSize() - 1; i >= 0; i--) {
            System.out.println(myStack.getObject());
        }



    }
}

定义一个MyStack类

package com.shujia.day13;

import java.util.LinkedList;

public class MyStack {
    private LinkedList linkedList;

    MyStack(){
        linkedList = new LinkedList();
    }

    public void shujiaAdd(Object obj){
        linkedList.addFirst(obj);
    }

    public int stackSize(){
        return linkedList.size();
    }

    public Object getObject(){
//        return linkedList.getFirst();
        return linkedList.removeFirst();
    }


    @Override
    public String toString() {
        return "MyStack{" +
                "linkedList=" + linkedList +
                '}';
    }
}

标签:LinkedList,list1,System,myStack,数据结构,public,模拟,linkedList
From: https://www.cnblogs.com/qiwei-bigdata/p/18354020

相关文章

  • 暑假模拟16
    暑假模拟16\(T_A\)九次九日九重色最长上升子序列,预处理整除关系,树状数组维护,其中复杂度用到调和级数。\[O(\sum_{i=1}^n\frac{n}{i}\times\logn)=O(n\times\log^2n)\]\(T_B\)天色天歌天籁音挂分最惨的一集。贪心的策略显然,发现这样题目就变为求区间众数,属于比较......
  • 暑假集训CSP提高模拟18
    好像还有好多没写的A.Mortis赛时思路是正解,但有一个判断想了但出锅了。。。\(n\)个数的序列\(n-1\)次肯定能换完,一次操作最多贡献2,找出贡献2的操作个数减去即可有一次操作匹配两个,两次操作匹配三个,三个操作匹配四个,三种情况,记个数都跑一遍即可点击查看代码#include<bi......
  • 【经验分享】数据结构——哈希查找冲突处理方法(开放地址法-线性探测、平方探测、双散
    目录1.线性探测(LinearProbing)2.平方探测(QuadraticProbing)3.双散列探测(DoubleHashing)4.分离链接法(SeparateChaining)5.再散列(Rehashing)如何解答这些常见问题1.写出处理冲突的方法名称2.构造基于该处理冲突方法的哈希表3.求出该哈希表在等概率情况下查找成功......
  • [赛记] 暑假集训CSP提高模拟18
    T2T4不太可做,所以没改Mortis20pts原题:Luogu[ABC302G]Sortfrom1to4赛时用$set$乱搞拿了20pts,事实证明确实是乱搞;考虑交换只有三种情况:a在b上,b在a上,需要一次;a在b上,b在c上,c在a上,需要两次;a在b上,b在c上,c在d上,d在a上,需要三次;这里的在什么什么上是指原数组......
  • LinkedList
    packagecom.shujia.day13;importjava.util.Iterator;importjava.util.LinkedList;/*Collection:-List(有序【指的是存储和取出的顺序是一致的】且可以发生重复,且有索引的概念)-ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全的,效率高......
  • 数据结构----二叉树
              小编会一直更新数据结构相关方面的知识,使用的语言是Java,但是其中的逻辑和思路并不影响,如果感兴趣可以关注合集。    希望大家看完之后可以自己去手敲实现一遍,同时在最后我也列出一些基本和经典的题目,可以尝试做一下。大家也可以自己去力扣或者......
  • 5.1模拟赛
    这次,很失败,知识点都学过,打不出来。AABC340CDivideandDivide找规律,很简单,也是我唯一做过的题。每次是2的幂时,它就会加一。复杂度是log⁡\log......
  • 『模拟赛』暑假集训CSP提高模拟18
    Rank致敬传奇不挂分Rank5模拟赛A.Mortis原[ABC302G]Sortfrom1to4签,致敬传奇abc_g作签到题。虽然但是还是想了1h,好在最后成功切了。具体解释看看题解,求个赞。点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintRatio=0;constintN=2......
  • 暑假集训CSP提高模拟18
    \[暑假集训CSP提高模拟\1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1\]Verygoodproblem,thismakemynewsrotate.A.Mortis考虑到应该先写个假的暴力.对于暴力思路,可以想到,假如我们每次都将一个不在它位置上的数字移到它应该在的地方的时候,另一个数字也刚好移到正确的位置,这......
  • 模拟赛全集
    模拟赛全集嘉然登场挺不错的题,发现对于每个数,都有固定的数可以与其相邻,而且排序之后是整个序列的一段后缀首先我们发现当序列有解的时候一定有数可以和任何一个数相邻,丢进去就完事了那么我们考虑对于每个值,让能放到它旁边的值全扔进去,之后直接暴力插入任意一个缝隙就好了,注意......