zoukankan      html  css  js  c++  java
  • 数据结构_顺序表

    实现顺序表的增 删 改 查 插入 修改

    package com.Test.Demo.数据结构;
    
    import java.util.Scanner;
    
    /**
     * @Author Fu XvZhuang
     * @Date 2020/9/13 11:32
     * @Version 1.0
     */
    public class 顺序表 {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            My_list my_list = new My_list();
            my_list.addNode(3);
            my_list.addNode(2);
            my_list.addNode(1);
            my_list.addNode(4);
            my_list.print_list();
            System.out.println(my_list.delNode(4));
            my_list.print_list();
            my_list.node_list(0,1);
            my_list.print_list();
            System.out.println(my_list.select_list01(1));
            System.out.println(my_list.select_list02(1));
            my_list.ind_list(1,99);
            my_list.print_list();
        }
    }
    class My_list{ //顺序表 实现增删改查
        static final int MAX_SIZE = 100; //定义常量 顺序表最大容量100
        Object[] list = new Object[MAX_SIZE];
        int len = 0;
    
        public My_list() {
        }
        /*public Object[] my_sort(My_list m){//阉割版归并排序 合并两个有序顺序表
            Object[] temp = new Object[MAX_SIZE];
            int i = 0;
            int j = 0;
            int k = 0;
            while(i<this.len&&j<m.len){
                if(list[i]<=m.list[j]){
                    temp[k++] = list[i++];
                }else {
                    temp[k++] = m.list[j++];
                }
            }
            while(i<this.len){
                temp[k++] = list[i++];
            }
            while(j<m.len){
                temp[k++] = m.list[j++];
            }
            for(i = 0;i<k;i++){
                this.list[i] = temp[i];
            }
        }*/
        public void ind_list(int i,Object o){ //将o插入到i位置
            if(this.len==this.MAX_SIZE){
                System.out.println("线性表已满,插入失败");
            }else if(i<0||i>=this.len){
                System.out.println("插入位置错误");
            }else{
                for(int index=this.len;index>i;index--){
                    list[index] = list[index-1];
                }
                list[i] = o;
                this.len++;
            }
        }
        public void addNode(Object  o){ //增加元素至线性表末尾
            if(this.len==this.MAX_SIZE){
                System.out.println("线性表已满,添加元素失败");
                return;
            }
            list[this.len++] = o;
        }
        public Object delNode(int i){ //在线性表中删除第i个元素 并且返回此元素
            Object ans;
            if(i<=0||i>this.MAX_SIZE){
                System.out.println("删除元素不存在");
                ans = null;
            }else{
                ans = list[i-1];
                for(int index = i-1;index<this.len-1;index++){
                    list[index] = list[index+1];
                }
                this.len--;
            }
            return ans;
        }
        public void node_list(Object o,int i){ //修改线性表第i个元素为o
            if(i<=0||i>this.MAX_SIZE){
                System.out.println("元素不存在");
            }else{
                list[i-1] = o;
            }
        }
        public Object select_list01(int i){ //在线性表中按照序号查找内容
            if(i<0||i>=this.MAX_SIZE){
                System.out.println("元素不存在");
                return null;
            }else{
                return list[i];
            }
        }
        public int select_list02(Object o){ //在线性表中查找o 并返回下标
            int ans = -1;
            for(int i=0;i<this.len;i++){
                if(list[i].equals(o)){
                    ans = i;
                    break;
                }
            }
            return ans;
        }
        public  void print_list(){
            for(int i=0;i<this.len;i++){
                System.out.print(this.list[i]+" ");
            }
            System.out.println();
        }
    }
    
  • 相关阅读:
    【转】合并两个List并去掉重复项
    vue父子组件的通信
    深入理解--VUE组件中数据的存放以及为什么组件中的data必需是函数
    Vue-组件模板抽离的写法
    VUE-父组件和子组件
    vue -全局组件和局部组件
    vue-组件化开发基础
    vue---v-model的详细解答
    map、filter、reduce函数的使用
    vue--购物车案例(小知识点总结)
  • 原文地址:https://www.cnblogs.com/fxzemmm/p/14847921.html
Copyright © 2011-2022 走看看