java 顺序表实现增删改查,合并,排序功能

    xiaoxiao2021-11-22  56

    

    我的代码:

    package ypj;import java.util.*;import java.lang.Math;

    public class yupeijie_Seq {

      /**   * @param args   */    public int []data;  public int yupeijie_length;  final int Maxsize=1024;  public yupeijie_Seq(){   data=new int[1024];   this.yupeijie_length=0;  }  public void yupeijie_in(){//输入随机数   for(int i=0;i<10;i++){    this.data[i]=(int)(Math.random()*100);    this.yupeijie_length++;   }  }  public void out(){//输出   for(int i=0;i<this.yupeijie_length;i++)    System.out.println(this.data[i]);  }  public int getLength(){//获得长度   return this.yupeijie_length;  }     public void insert(yupeijie_Seq s1,int element){//在表尾插入元素      if(this.yupeijie_length>this.Maxsize-1)       System.out.println("顺序表已满");      else{       this.data[yupeijie_length]=element;       this.yupeijie_length++;      }     }     public void insertt(int index,int element){//按索引插入元素      if(index<0||index>=this.yupeijie_length){       System.out.println("无此位置");                }      if(index>this.Maxsize-1){       System.out.println("已满");             }       for(int i=this.yupeijie_length-1;i>=index;i--){        this.data[i+1]=this.data[i];       }       this.data[index]=element;          this.yupeijie_length++;               }     public void delete(int index){//删除元素      if(this.yupeijie_length<1)       System.out.println("表空");      if(index<0||index>=this.yupeijie_length)       System.out.println("无此位置");      for(int i=index;i<this.yupeijie_length;i++){       this.data[i]=this.data[i+1];      }      this.yupeijie_length--;     }     public void modify(int index,int element){//修改元素      this.data[index]=element;     }     public int cha(int index){//按索引查找元素      return this.data[index];     }     public void search(int element){//按元素值查找元素      for(int i=0;i<this.yupeijie_length;i++)       if(this.data[i]==element)        System.out.println(i);         }     public void sort(){//排序      for(int i=0;i<this.yupeijie_length;i++){       int min=i;       for(int j=i;j<this.yupeijie_length;j++)        if(this.data[j]<this.data[min])         min=j;       if(i!=min){        int temp=this.data[i];        this.data[i]=this.data[min];        this.data[min]=temp;       }      }     }     public void merge(yupeijie_Seq s){//合并      int j=0;      for(int i=this.yupeijie_length;i<this.yupeijie_length+s.yupeijie_length-2;i++)       this.data[i]=s.data[j++];             this.yupeijie_length=this.yupeijie_length+s.yupeijie_length; }     public static void main(String[] args) {   // TODO Auto-generated method stub      yupeijie_Seq s1=new yupeijie_Seq();   s1.yupeijie_in();   //s1.out();      System.out.println("1 插入元素");      System.out.println("2 删除元素");      System.out.println("3 修改元素");      System.out.println("4 查找元素");      System.out.println("5 合并顺序表");      System.out.println("6 排序");      System.out.println("7 顺序表长度");      int l=0;      while(l<10){      Scanner in = new Scanner(System.in);   int a = in.nextInt();  if(3<5){  switch(a){  case 1:   System.out.println("请输入插入的元素:");   Scanner in1= new Scanner(System.in);   int b = in1.nextInt();   System.out.println("请输入插入元素的位置:");   int c = in.nextInt();   s1.insertt(c,b);   s1.out();   break;  case 2:   System.out.println("请输入要删除元素的位置:");   Scanner in2= new Scanner(System.in);   int d=in2.nextInt();   s1.delete(d);   s1.out();   break;  case 3:   System.out.println("请输入修改元素的位置:");   Scanner in3=new Scanner(System.in);   int e=in3.nextInt();   System.out.println("请输入修改元素的值:");   Scanner in4=new Scanner(System.in);   int f=in4.nextInt();   s1.modify(e, f);   s1.out();   break;  case 4:   System.out.println("请输入要查找的元素:");   Scanner in5=new Scanner(System.in);   int g=in5.nextInt();   s1.search(g);   break;  case 5:   yupeijie_Seq s2=new yupeijie_Seq();   s2.yupeijie_in();   s1.merge(s2);   s1.out();   break;  case 6:   s1.sort();   s1.out();   break;  case 7:   s1.getLength();   break;  }  }      }  } }

    转载请注明原文地址: https://ju.6miu.com/read-678434.html

    最新回复(0)