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



我的代码:

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    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.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       if(this.data[i]==element)
        System.out.println(i);    
     }
     public void sort(){//排序
      for(int i=0;i       int min=i;
       for(int j=i;j        if(this.data[j]         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.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;
  }
  }
      }
  }
 }

你可能感兴趣的:(java编程问题)