java顺序表代码,顺序表代码实现

java二叉树的顺序表实现

做了很多年的程序员,觉得什么树的设计并不是非常实用。二叉树有顺序存储,当一个insert大量同时顺序自增插入的时候,树就会失去平衡。树的一方为了不让塌陷,会增大树的高度。性能会非常不好。以上是题外话。分析需求在写代码。

清流网站建设公司创新互联建站,清流网站设计制作,有大型网站制作公司丰富经验。已为清流成百上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的清流做网站的公司定做!

import java.util.List;

import java.util.LinkedList;

public class Bintrees {

private int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9};

private static ListNode nodeList = null;

private static class Node {

Node leftChild;

Node rightChild;

int data;

Node(int newData) {

leftChild = null;

rightChild = null;

data = newData;

}

}

// 创建二叉树

public void createBintree() {

nodeList = new LinkedListNode();

// 将数组的值转换为node

for (int nodeIndex = 0; nodeIndex array.length; nodeIndex++) {

nodeList.add(new Node(array[nodeIndex]));

}

// 对除最后一个父节点按照父节点和孩子节点的数字关系建立二叉树

for (int parentIndex = 0; parentIndex array.length / 2 - 1; parentIndex++) {

nodeList.get(parentIndex).leftChild = nodeList.get(parentIndex * 2 + 1);

nodeList.get(parentIndex).rightChild = nodeList.get(parentIndex * 2 + 2);

}

// 最后一个父节点

int lastParentIndex = array.length / 2 - 1;

// 左孩子

nodeList.get(lastParentIndex).leftChild = nodeList.get(lastParentIndex * 2 + 1);

// 如果为奇数,建立右孩子

if (array.length % 2 == 1) {

nodeList.get(lastParentIndex).rightChild = nodeList.get(lastParentIndex * 2 + 2);

}

}

// 前序遍历

public static void preOrderTraverse(Node node) {

if (node == null) {

return;

}

System.out.print(node.data + " ");

preOrderTraverse(node.leftChild);

preOrderTraverse(node.rightChild);

}

// 中序遍历

public static void inOrderTraverse(Node node) {

if (node == null) {

return;

}

inOrderTraverse(node.leftChild);

System.out.print(node.data + " ");

inOrderTraverse(node.rightChild);

}

// 后序遍历

public static void postOrderTraverse(Node node) {

if (node == null) {

return;

}

postOrderTraverse(node.leftChild);

postOrderTraverse(node.rightChild);

System.out.print(node.data + " ");

}

public static void main(String[] args) {

Bintrees binTree = new Bintrees();

binTree.createBintree();

Node root = nodeList.get(0);

System.out.println("前序遍历:");

preOrderTraverse(root);

System.out.println();

System.out.println("中序遍历:");

inOrderTraverse(root);

System.out.println();

System.out.println("后序遍历:");

postOrderTraverse(root);

}

}

如何用JAVA语言建立含有若干个元素的顺序表,并实现插入,删除,查找等基本操作

java 中的List接口就是顺序存储的集合机构,底层是用数组实现的,检索性能高,插入和删除性能较低,因为涉及到移位。代码简单演示:

ListInteger list = new ArrayListInteger(); // 定义一个用于存放整数的集合list,

list.add(100);

list.add(200);

list.add(300); // 将100,200,300 一次加入到list中

System.out.println(list.toString()); // 查看结果

int a = list.get(0) ; // 这将找出list中的第一个元素100,赋值给a

System.out.println(a); // 100

list.remove(2); // 删除list中的第三个元素

System.out.println(list.toString()); // 查看结果

------------------------------------------------------------------------------------------------------

比较粗略,详细内容请查看ArrayList 的 API 。祝你学习进步。

数据结构,用JAVA编写顺序表

直接用数组或者ArrayList实现相应的功能,行吗?Java没有指针,LinkedList无法模拟

Java程序:创建一个顺序表,输出该顺序表,将顺序表中所有值为x的元素替换成y,再输出替换后的顺序表。

import java.util.ArrayList;

import java.util.List;

public class Test

{

/**

* @param args

*/

public static void main(String[] args)

{

// 创建一个顺序表

ListString a = new ArrayListString();

a.add("a");

a.add("b");

a.add("c");

a.add("x");

a.add("d");

a.add("x");

// 按顺序输出创建的顺序表

for (int i = 0; i a.size(); i++)

{

System.out.println("序号:" + i + ", 值:" + a.get(i));

}

// 循环替换x为y

for (int i = 0; i a.size(); i++)

{

String value = a.get(i);

if ("x".equals(value))

{

a.set(i, "y");

}

}

// 按顺序输出替换后的顺序表

for (int i = 0; i a.size(); i++)

{

System.out.println("序号:" + i + ", 值:" + a.get(i));

}

}

}

用Java语言编写数据结构中顺序表的插入删除查找代码并实现

public class Test {

public static void main(String[] args) {

int length = 5;

int ai = 1;

String data = "data";

String[] array = insertArrar(data, ai, length);

data = delArray(array, ai, length);

System.out.println(data);

}

public static String[] insertArrar(String data,int ai,int length){

String[] array = new String[length];

array[ai] = data;

return array;

}

public static String delArray(String[] array,int ai,int length){

String data = "";

data=array[ai];

array[ai]=null;

for(int i = 0; iarray.length;i++){

System.out.println(array[i]);

}

return data;

}

}

设计一个有序顺序表(用数组)java版

public class SeqList{

final int defaultSize=10;

int maxSize;

int size;

Object [] listArray;

public SeqList(){

initiate(defaultSize);

}

public SeqList(int size){

initiate(size);

}

private void initiate(int sz){

maxSize=sz;

size=0;

listArray=new Object[sz];

}

public void insert(int i,Object obj) throws Exception{

if(size==maxSize){

throw new Exception("顺序表已满无法插入");

}

listArray[i]=obj;

size++;

}

public Object delete(int i) throws Exception{

if(size==0){

throw new Exception("顺序表已空无法删除!");

}

Object it=listArray[i];

for(int j=i;jsize-1;j++)

listArray[j]=listArray[j+1];

size--;

return it;

}

public Object getData(int i) throws Exception{

if(i0||isize){

throw new Exception("参数错误");

}

return listArray[i];

}

public int size(){

return size;

}

public boolean isEmpty(){

return size==0;

}

public int MoreDadaDelete(SeqList L,Object x)throws Exception{

int i,j;

int tag=0;

for(i=0;iL.size;i++){

if(x.equals(L.getData(i))){

L.delete(i);

i--;

tag=1;

}

}

return tag;

}

}


本文标题:java顺序表代码,顺序表代码实现
链接分享:http://pwwzsj.com/article/hessdd.html