• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

冷暖。

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

顺序表

主代码部分:

package com.struct.test;

import java.util.Scanner;

import javax.swing.text.Position;

/**
* 顺序表:使用数组存放线性表
*
* @author Administrator
*
*/
public class Sqlist {

/**
* 存贮顺序表的数组
*/
int[] data;

/**
* 顺序表的长度
*/
int length;

public Sqlist(int[] data, int length) {
super();
this.data = data;
this.length = length;
}

/**
* 打印输出顺序表中的内容
*/
public void print(){
for (int i = 0; i < length; i++) {
System.out.print(data[i]+"\t");
}
System.out.println();
}

public void init(){
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < length; i++) {
data[i] = scanner.nextInt();
}

scanner.close();
}

/**
* 在顺序表中下标为position的位置添加一个值为value的元素
* @param value
* @param position
*/
public void insert(int value, int position){

//1. 插入位置是否合法
//2. 是否表满
if(position < 0 || position >= data.length){
System.out.println("插入失败,插入位置不合法");
return;
}
if(length >= data.length){
System.out.println("插入失败,表满");
}

//插入逻辑
for(int i=length;i>=position;i--) {
data[i]=data[i-1];
}

data[position]=value;
length++;
for(int i=0;i<length;i++) {
System.out.print(data[i]+"\t");
}
System.out.println();
}
public void delete(int position) {
if(position<0||position>data.length) {
System.out.println("删除失败,位置不合法");
return;
}
if(data.length==0) {
System.out.println("删除失败,表为空");
}
for(int i=position;i<length-1;i++) {
data[i]=data[i+1];
}
length--;

}
}

测试代码部分:

package com.struct.test;

public class Test {

public static void main(String[] args) {
// TODO Auto-generated method stub
//创建一个长度为3的线性表

Sqlist sqlist = new Sqlist(new int[10], 3);
System.out.println("请输入一个长度为"+sqlist.length+"的数组:");
sqlist.init();
sqlist.print();
sqlist.insert(10, 1);
sqlist.delete(1);
sqlist.print();
}

}

 

posted on 2019-11-19 16:01  冷暖。  阅读(35)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3