第15次修改了可删除可持久保存的前端html备忘录:换了一个容器时钟,匹配背景主题:现代深色

news2024/10/5 20:26:13

第15次修改了可删除可持久保存的前端html备忘录:换了一个容器时钟,匹配背景主题:现代深色

备忘录代码

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>与妖为邻的备忘录</title>
  <style>
    /* <!-- ------------------------备忘录--------------------------- --> */
    textarea {
      font-size: 20px;

      &::placeholder {
        color: rgb(248, 0, 0);
        font-size: 12px;
      }
    }

    h1 {
      text-indent: 7em;

      line-height: 2em;

    }

    sub {
      /* 外边距: 上右下左 */
      margin: 0px 40px 0px 20px;
    }

    .down-div {
      text-indent: 2em;
    }

    .delete {
      color: #ff0101;
      /* 靠右 */
      float: right;
    }

   
    .finish {
     
      /* 下划线 */
      text-decoration: underline;
      text-decoration-color: rgb(255, 0, 0);
      background-color: rgb(220, 226, 241);
      color: rgb(253, 250, 250);
      text-shadow: 1px 1px 1px #030303;
      box-shadow:
        inset -2px -2px 3px rgba(255, 255, 255, 0.6),
        inset 2px 2px 3px rgba(0, 0, 0, 0.6);
      border-radius: 20px;
    }


    /* <!-- ------------------------时钟--------------------------- --> */
    .main {
      color: #f90404b5;
      font-size: 30px;
      position: absolute;
      text-shadow: 1px 1px 1px #030303;
      transform: translate(220%, 2%);

      display: flex;
      justify-content: center;
      align-items: center;
    }

    header {
      width: 40px;
      height: 60px;
      border: 2px solid rgb(0, 0, 0);

      border-radius: 5px;
      position: relative;

    }

    header::after {
      content: "";
      position: absolute;
      width: 100%;
      box-sizing: border-box;
      border: 2px solid transparent;
      bottom: 0;

      filter: blur(2px);
      transition: 1s linear;
      height: var(--s);
      z-index: -1;
    }

    #month::after {
      background: #8854d0;
    }

    #day::after {
      background: #3867d6;
    }

    #hour::after {
      background: #20bf6b;
    }

    #min::after {
      background: #1156a5;
    }

    #sec::after {
      background: #ea270d;
    }

    header::before {
      content: attr(datatext);
      /* 直接注释掉这行可以不显示文字哦 */
      position: absolute;
      width: 100%;
      height: 100%;
      text-align: center;
      color: #ff0a0a;
      font-size: 30px;
      top: 20%;
    
      text-shadow: 1px 1px 1px #030303;
    }

    #year {

      position: absolute;
      font-size: 80px;

      transform: translate(245%, -20%);
      color: #fffb12;
      filter: blur(0.1vw);
    }
  </style>
  <title>Document</title>
</head>

<body>
  <div class="h-div">
    <!-- ------------------------时钟--------------------------- -->
    <div id="year">

    </div>
    <div class="main">
      <header id="month"></header>月
      <header id="day"></header>日
      <header id="hour"></header>:
      <header id="min"></header>:
      <header id="sec"></header>
    </div>





    <!-- ------------------------备忘录--------------------------- -->
    <div class="h1-div">
      <h1>
        备忘录
        <dfn>memo</dfn>
      </h1>

    </div>
  </div>

  <div class="up-div">
    <input type="file" name="inputfile" accept="text/plain, text/css, text/html, text/javascript, text/markdown"
      class="background3D" />
    <textarea class="up-textarea" name="uptextarea" rows="1" cols="30%"
      placeholder="请选择txt、js、css或html文件,文件内容会被自动读取"></textarea>
    <button type="text" class="up-button">添加</button>
    <button id="openButton">打开URL</button>
    <button class="a-href"><a href="https://www.baidu.com/s" target="_blank">百度一下</a></button>
    <button class="a-href"><a href="https://blog.csdn.net/lulei5153?spm=1011.2415.3001.5343"
        target="_blank">与妖为邻</a></button>
    <button id="up-button1" class="delete">对选择删除</button>
    <p>
      <sub>
        护眼背景 &amp;lt;style&amp;gt;
        body { background-color: rgb(110, 123, 108); color: #fff; text-shadow: 1px 1px 1px #000000; }
        &amp;lt;/style&amp;gt;
      </sub>
      <sub> &lt;button class="a-href"&gt;
        &lt;a href="输入网站地址" target="_blank"&gt;
        输入网站名称
        &lt;/a&gt; &lt;/button&gt;
      </sub>
    </p>
  </div>
  <hr>
  <div class="down-div">
  </div>
  <script>
    var monbox = document.getElementById("month")
    var daybox = document.getElementById("day")
    var hourbox = document.getElementById("hour")
    var minbox = document.getElementById("min")
    var secbox = document.getElementById("sec")
    var yeardiv = document.getElementById("year")
    var count = 0
    function clock() {
      var d = new Date()
      var mon = d.getMonth()
      var day = d.getDate()
      var hour = d.getHours()
      var min = d.getMinutes()
      var sec = d.getSeconds()
      var year = d.getFullYear()

      monbox.style.setProperty('--s', String(mon / 12 * 100) + '%') //生成填充背景颜色的比例
      monbox.setAttribute('datatext', ("0" + (mon + 1)).slice(-2)) //生成时间日期的具体文字,个位的数字在前面补0
      var allday = new Date(year, mon + 1, 0).getDate() //计算当前月份有多少天(28,29,30,31)
      daybox.style.setProperty('--s', String(day / allday * 100) + '%')
      daybox.setAttribute('datatext', ("0" + (day)).slice(-2))

      hourbox.style.setProperty('--s', String(hour / 24 * 100) + '%')
      hourbox.setAttribute('datatext', ("0" + (hour)).slice(-2))

      minbox.style.setProperty('--s', String(min / 60 * 100) + '%')
      minbox.setAttribute('datatext', ("0" + (min)).slice(-2))

      secbox.style.setProperty('--s', String(sec / 60 * 100) + '%')
      secbox.setAttribute('datatext', ("0" + (sec)).slice(-2))

      yeardiv.innerText = year // 计算年份数字
    }
    setInterval(clock, 100)


    /*   -- ------------------------备忘录--------------------------- --*/
    /**************************备忘录********************************/
    var uptext = document.querySelector(".up-textarea");
    var addto = document.querySelector(".up-button");
    var text = document.querySelector(".down-div");
    /*************添加事件*****************/
    addto.onclick = function () {
      inserhtml(uptext.value, '');
      // 添加后清空输入框
      uptext.value = '';
      // 焦点放回输入框
      uptext.focus();
      savetodo();
    }
    /*************savetodo函数****************/
    var savetodo = function () {
      let todoarr = [];
      let todojs = {};
      var econtent = document.querySelectorAll('.content');
      for (let index = 0; index < econtent.length; index++) {
        todojs.name = econtent[index].innerHTML;
        todojs.finish = econtent[index].classList.contains('finish');
        todoarr.push(todojs);
        todojs = {};
      }
      save(todoarr);
    }
    var loadtodo = function () {
      let todoarr = load();
      for (let index = 0; index < todoarr.length; index++) {
        inserhtml(todoarr[index].name, todoarr[index].finish ? 'finish' : '');
      }
    }
    /**********************本地持久储存(localStorage)函数*****************************/
    var save = function (arr) {
      /**JSON.stringify(arr) 先将数组转换为字符串   
       *localStorage.todos 然后将字符串保存到本地的todos中*/
      localStorage.todos = JSON.stringify(arr);
    }
    /**
     *读取函数,把todos转成数组
     *然后返回数组*/
    var load = function (arr) {
      var arr = JSON.parse(localStorage.todos);
      return arr;
    }
    /**********************finish样式函数*****************************/
    /**********************按钮点击事件*****************************/
    text.onclick = function () {
      var tg = event.target;
      // 获取父元素下的所有子元素
      var tgkids = tg.parentElement.children;
      /*******************************对复选框的点击事件******************************/
      if (tgkids[0].checked) {
        tgkids[1].classList.add("finish");
      }
      else {
        tgkids[1].classList.remove("finish");
      }
      // 保存更改的样式
      savetodo();
      /*******************************对选择的进行删除********************************************/
      var Select = document.getElementById("up-button1");
      Select.onclick = function () {
        if (confirm("是否删除所选?")) {
          var check = document.getElementsByName("checkbox");
          for (var i = 0; i < check.length; i++) {
            if (check[i].checked) {
              check[i].parentElement.remove();
              i--;
              // 删除后保存
              savetodo();
            }
          }
        }
      }
    }
    var inserhtml = function (val, cls) {
      text.insertAdjacentHTML("beforeend",
        `<div>
                    <input  type="checkbox" name='checkbox'>               
                    <span class='content ${cls}'>${val}</span>   
                </div>`
      )
    }
    loadtodo();
    /*****************************提示弹窗无需点击的函数**********************************************/
    function displayAlert(type, data, time) {
      var prompt = document.createElement("div");
      if (type == "success") {
        prompt.style.width = "200px";
        prompt.style.backgroundColor = "#009900";
      } else if (type == "error") {
        prompt.style.width = "280px";
        prompt.style.backgroundColor = "#990000";
      } else if (type == "info") {
        prompt.style.backgroundColor = " #e6b800";
        prompt.style.width = "600px";
      } else {
        return;
      }
      prompt.id = "prompt";
      prompt.style.textAlign = "center";
      prompt.style.position = "absolute";
      prompt.style.height = "60px";
      prompt.style.marginLeft = "-100px";
      prompt.style.marginTop = "-30px";
      prompt.style.left = "30%";
      prompt.style.top = "5%";
      prompt.style.color = "white";
      prompt.style.fontSize = "25px";
      prompt.style.borderRadius = "20px";
      prompt.style.textAlign = "center";
      prompt.style.lineHeight = "60px";
      if (document.getElementById("") == null) {
        document.body.appendChild(prompt);
        prompt.innerHTML = data;
        setTimeout(function () {
          document.body.removeChild(prompt);
        }, time);
      }
    }
    /**************************打开URL按钮的JavaScript******************************************/
    // 获取打开URL按钮元素
    var openBtn = document.getElementById("openButton");
    // 添加点击事件处理程序
    openBtn.addEventListener('click', function () {
      // 获取文件路径
      // 这里假设您已经有一个函数来获取文件路径,例如 prompt('请输入文件路径', 'D:/前端学习', '_blank');
      var filePath = prompt("请输入网站地址或者本地文件路径", "D:/备忘录信息");
      if (filePath) {
        // 使用window.location对象的assign()方法导航到指定文件
        // window.location.assign(filePath);
        // 或者使用window.open()方法打开新窗口导航到指定文件
        window.open(filePath);
      } else {
        displayAlert('info', '未提供有效的文件路径!', 1500);
        // alert("未提供有效的文件路径!");
      }
    });
    /**************************本地文件读取的函数******************************************/
    window.onload = function () {
      var text = document.getElementsByName('uptextarea')[0],
        inputFile = document.getElementsByName('inputfile')[0];
      //上传文件
      inputFile.onchange = function () {
        console.log(this.files);
        var reader = new FileReader();
        reader.readAsText(this.files[0], 'UTF-8');
        reader.onload = function (e) {
          // urlData就是对应的文件内容
          var urlData = this.result;
          text.value = urlData;
        };
      };
    };
  </script>


</body>

</html>

背景主题代码:

<!DOCTYPE html>
<html lang="zh">
<a class="a-href class-h">备忘录的背景主题:现代深色</a>
<style>
    * {
        /* 外边距: 上右下左 */
        margin: 0px 0px 0px 0px;
        /* 内边距: 上右下左 */
        padding: 0 0 0 0;
        /* 文本颜色 */
        color: #75a8c6;
    }
    body {
        background-color: #2b2b2b;
    }
    /* 鼠标变小手 */
    input,
    button {
        cursor: pointer;
        font-size: 20px;
        padding: 0 5px;
    }
    /* ***********************h-div区************************************* */
    .h-div {
        background: linear-gradient(0.25turn, rgb(110, 123, 108), rgb(204, 232, 207), #f7d6d6);
        /* 3D立体文本的样式 */
        .h1-div {
            h1 {
                dfn {
                    border-radius: 20px;
                    color: #fafafa;
                    text-shadow: 0px 1px 0px #999,
                        0px 2px 0px #888,
                        0px 3px 0px #777,
                        0px 4px 0px #666,
                        0px 5px 0px #555,
                        0px 6px 0px #444,
                        0px 7px 0px #333,
                        0px 8px 7px #001135;
                }
                background-image: linear-gradient(to top left,
                    rgba(0, 0, 0, 0.2),
                    rgba(0, 0, 0, 0.2) 30%,
                    rgba(0, 0, 0, 0));
                box-shadow: inset 4px 4px 4px rgba(255, 255, 255, 0.6),
                inset -4px -4px 5px rgba(0, 0, 0, 0.6);
                text-shadow: 1px 1px 1px #000000;
                border: 0px solid black;
                text-decoration-color: rgb(0, 0, 0);
            }
        }
    }
    /* **********************up-div区************************************** */
    .up-div {
        /* 圆角 */
        border-radius: 10px;
        input[type="file"] {
            width: 200px;
        }
        textarea {
            line-height: 1.5em;
            background: #303745;
            text-shadow: 1px 1px 1px #000;
            /* text-decoration: underline;
            text-decoration-color: rgb(184, 229, 184); */
            &::placeholder {
                color: #75a8c6;
                text-shadow: 1px 1px 1px #000000;
            }
        }
        p {
            background-color: rgb(199, 237, 204);
            sub {
                text-shadow: 1px 1px 1px #030303;
                box-shadow: inset -2px -2px 3px rgba(255, 255, 255, 0.6),
                    inset 2px 2px 3px rgba(0, 0, 0, 0.6);
            }
            sub:nth-child(1) {
                background-color: rgb(233, 235, 254);
            }
            sub+sub {
                background-color: rgb(227, 237, 205);
            }
        }
    }
    /* 3D背景的样式 */
    .a-href,
    #prompt,
    button,
    input {
        background-image: linear-gradient(to top left,
                rgba(0, 0, 0, 0.2),
                rgba(0, 0, 0, 0.2) 30%,
                rgba(0, 0, 0, 0));
        box-shadow: inset 4px 4px 4px rgba(255, 255, 255, 0.6),
            inset -4px -4px 5px rgba(0, 0, 0, 0.6);
        border-radius: 10px;
        text-shadow: 1px 1px 1px #000;
        border: 0px solid black;
    }
    a {
        color: green;
        /* 下划线 */
        text-decoration: underline;
        text-decoration-color: green;
        text-shadow: 2px 2px 1px #000;
    }
    .class-h {
        color: #8cd571;
    }
    /* 背景颜色 */
    .up-div {
        background-color: #1c1c1c;
    }
    .time,
    input[type="file"],
    .up-button {
        background-color: #48603f;
    }
    button {
        background-color: #b8815d;
    }
    button:hover,
    input:hover {
        background-color: rgb(255, 2, 2);
    }
    /* 按钮凹进去的样式 */
    button:active,
    input:active {
        box-shadow: inset -2px -2px 3px rgba(255, 255, 255, 0.6),
            inset 2px 2px 3px rgba(0, 0, 0, 0.6);
    }
    /* ***********************down-div************************************* */
    .down-div {
        text-indent: 5em;
        /* background: linear-gradient(0.25turn, #b7efea82, #cacf80ac, #f7d6d6); */
        background: #303745;
        /* 设置复选框样式*/
        input[type="checkbox"] {
            background-color: #b8815d;
            -webkit-appearance: none;
            appearance: none;
            width: 25px;
            height: 25px;
            position: relative;
            margin-right: 10px;
            border-radius: 50%;
        }
        input[type="checkbox"]::after {
            content: "";
            width: 100%;
            height: 100%;
            border: 2px solid #e9f504;
            position: absolute;
            left: -3px;
            top: -3px;
            border-radius: 50%;
        }
        /* 设置复选框点击之后的样式*/
        input[type="checkbox"]:checked::after {
            height: 15px;
            width: 25px;
            border-top: none;
            border-right: none;
            border-radius: 0;
            transform: rotate(-45deg);
            transition: all 0.5s ease-in-out;
        }
        span {
            /* background-color: #515e6f; */
            text-shadow: 1px 1px 1px #000000;
            box-shadow:
                inset -2px -2px 3px rgba(255, 255, 255, 0.6),
                inset 2px 2px 3px rgba(0, 0, 0, 0.6);
        }
    }
    dfn,
    .finish {
        background-color: rgb(220, 226, 241);
        color: rgb(253, 250, 250);
        text-shadow: 1px 1px 1px #030303;
        box-shadow:
            inset -2px -2px 3px rgba(255, 255, 255, 0.6),
            inset 2px 2px 3px rgba(0, 0, 0, 0.6);
    }
    .a-href {
        line-height: 25px;
        background-color: #515e6f;
    }
</style>
</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1415438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

适用于 Windows 的 10 个最佳数据恢复工具学习

在数字时代&#xff0c;数据就是一切。从珍贵的家庭照片和重要的工作文档到最喜欢的音乐和电影&#xff0c;我们的生活越来越多地存储在各种设备上。系统崩溃、意外删除或恶意病毒都可能使您的宝贵数据瞬间消失。这就是数据恢复工具的用武之地。 10 个最佳数据恢复工具 这些软…

【无标题】Gateway API 实践之(五)FSM Gateway 的会话保持功能

网关的会话保持功能是一种网络技术&#xff0c;旨在确保用户的连续请求在一段时间内被定向到同一台后端服务器。这种功能在需要保持用户状态或进行连续交互的场景中特别重要&#xff0c;例如在维护在线购物车、保持用户登录状态或处理多步骤事务时。 会话保持通过提供一致的用…

代码随想录算法刷题训练营day17

代码随想录算法刷题训练营day17&#xff1a;LeetCode(110)平衡二叉树 LeetCode(110)平衡二叉树 题目 代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(…

关于AOP的@Around特殊处理RequestBody的使用小结

目录 1. 概述 1.1 背景 1.2 源码 2. 测试 2.1 Controller 2.2 SpecialName配置 2.3 RequestConverter 2.4 测试 最近项目上遇到一个这样的需求&#xff1a;用户请求的时候传过来A&#xff0c;在api处理过程中要把A当成B去处理&#xff0c;但是返回的标识中又必须是A作为…

vue2 事件总线

原图下载&#xff1a;https://download.csdn.net/download/weixin_47401101/88788636

【开源】基于JAVA语言的二手车交易系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

数据结构和算法笔记5:堆和优先队列

今天来讲一下堆&#xff0c;在网上看到一个很好的文章&#xff0c;不过它实现堆是用Golang写的&#xff0c;我这里打算用C实现一下&#xff1a; Golang: Heap data structure 1. 基本概念 满二叉树&#xff08;二叉树每层节点都是满的&#xff09;&#xff1a; 完全二叉树&a…

java中aes加密解密工具类

java中aes加密解密工具类 字符串&#xff1a;{“DATA”:{“SJH”:“17600024168”,“DLZH”:“91510104MA67FPXR5T”,“DLMM”:“jhdz123456”,“DLSF”:“5”,“NSRSBH”:“91510104MA67FPXR5T”},“JRSF”:“23”} 加密后&#xff1a;y4mzmi3jta22aXeIPfEdzu8sgA9uy3OevaIY…

【Midjourney】内容展示风格关键词

1.几何排列(Geometric) "Geometric" 是一个与几何有关的词汇&#xff0c;通常用于描述与形状、结构或空间几何特征相关的事物。这个词可以涉及数学、艺术、工程、计算机图形学等多个领域。 使用该关键词后&#xff0c;图片中的内容会以平面图形拼接的方式展示&#…

优雅的python(二)

&#x1f308;个人主页&#xff1a;小田爱学编程 &#x1f525; 系列专栏&#xff1a;c语言从基础到进阶 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于c语言的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到小田代码世界~ &#x…

【机器学习】强化学习(八)-深度确定性策略梯度(DDPG)算法及LunarLanderContinuous-v2环境训练示例...

训练效果 DDPG算法是一种基于演员-评论家&#xff08;Actor-Critic&#xff09;框架的深度强化学习&#xff08;Deep Reinforcement Learning&#xff09;算法&#xff0c;它可以处理连续动作空间的问题。DDPG算法描述如下&#xff1a; GPT-4 Turbo Copilot GPT-4 DDPG算法伪代…

Adobe ColdFusion 任意文件读取漏洞复现(CVE-2023-26361)

0x01 产品简介 Adobe ColdFusion是美国奥多比(Adobe)公司的一套快速应用程序开发平台。该平台包括集成开发环境和脚本语言。 0x02 漏洞概述 Adobe ColdFusion平台 filemanager.cfc接口存在任意文件读取漏洞,攻击者可通过该漏洞读取系统重要文件(如数据库配置文件、系统配…

vue3框架基本使用

一、安装包管理工具 vite和vue-cli一样&#xff0c;都是脚手架。 1.node版本 PS E:\vuecode\vite1> node -v v18.12.12.安装yarn工具 2.1 yarn简单介绍 yarn是一个包管理工具&#xff0c;也是一个构建、打包工具 yarn需要借助npm进行安装&#xff1a;执行的命令行npm i…

React一学就会(3): 强化练习一

前言 兄弟们点个关注点点赞&#xff0c;有什么建议在评论里留言说一下&#xff0c;一定要和我多多互动啊&#xff0c;这样我才有动力创作出更有品质的文章。 这节课我们用前两节课的知识做一个实践&#xff0c;在实战中巩固我们所学。本来我想借用官方的示例翻译一下&#xf…

认识思维之熵

经常有读者问我&#xff0c;说&#xff1a; 为什么向您请教一个问题&#xff0c;您总能很快指出在哪篇文章里面提到过&#xff0c;是因为您的记忆力特别好吗&#xff1f; 其实不是的。更重要的原因是&#xff1a;如果你经过系统训练&#xff0c;有意识地去获取知识的话&#x…

JVM篇----第九篇

系列文章目录 文章目录 系列文章目录前言一、分代收集算法二、新生代与复制算法三、老年代与标记复制算法前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、分代…

PageHelper学习使用

基于mybatis源码和PageHelper源码进行的测试 版本 mybatis3.5.0&#xff0c;pageHelper6.0.0 测试用例 依赖 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version> &…

权威媒体报道 | 百分点科技谈“数据要素×”

近日&#xff0c;国家数据局等17部门联合印发《“数据要素”三年行动计划&#xff08;2024—2026年&#xff09;》&#xff0c;引起广泛关注&#xff0c;作为数据要素技术厂商代表&#xff0c;百分点科技CTO刘译璟接受经济日报、中国高新技术产业导报采访&#xff0c;结合产业现…

pysot中eval多种算法比较和画图

安装miktex和Texwork&#xff0c;记得更新miktex&#xff0c;链接https://miktex.org/download&#xff0c; 参考https://blog.csdn.net/weixin_42495721/article/details/110855071 我用的是pysot官方的库&#xff0c;里面包括eval和test、train等py文件。 路径结构为&#x…

【C++修行之道】STL(初识list、stack)

目录 一、list 1.1list的定义和结构 以下是一个示例&#xff0c;展示如何使用list容器: 1.2list的常用函数 1.3list代码示例 二、stack 2.1stack的定义和结构 stack的常用定义 2.2常用函数 2.3stack代码示例 一、list 1.1list的定义和结构 list的使用频率不高&#…