//数组
package array;
public class shuzu {
private static Integer size=0;
private static Integer [] player=null;
//1):初始容量为5的线性列表,准备用来存储场上的5个球衣号码.
private static void ininit(Integer number)
{
if(number<0)
System.out.println("初始球队不能为负数");
else player=new Integer[number];
}
//2):安排5个球员上场:[11,22,33,44,55].
private static void shangchang(Integer num)
{
if(num<0)
{
System.out.println("你的球衣有问题");
}
player[size++]=num;
}
//3):查询指定位置的球员的球衣号码是多少.查询索引位置为2的球衣号码是:33.
private static Integer search(Integer index)
{
if(index<0||player==null||size==0)
{
return -1;
}
else{
return player[index];
}
}
//4):根据球衣号码查询该球员在场上的索引位置. 44球衣号的球员在场上的索引位置是:3.
private static Integer chaxun(Integer num) {
if(num<0)
return -1;
else
{
for(int i=0;i<size;i++)
if(player[i]==num)
return i;
}
return -1;
}
//5):替换场上索引位置为2的球员,替换之后该位置的球衣编号为333. 333把33替换了.
private static void tihuan(Integer index,Integer num) {
if(index<0||num<0)
{
System.out.println("不存在这样的数字");
}
else
player[index]=num;
}
//6):替换球衣号码为22的球员,替换之后为222.
private static void qiunum(Integer num,Integer num1) {
for(int i=0;i<size;i++)
if(player[i]==num)
player[i]=num1;
}
//7):把场上索引位置为2的球衣罚下场(注意:罚下,没有补位.).
private static void faxia(int index)
{
for(int i=index;i<size-1;i++)
player[i]=player[i+1];
player[size-1]=null;
size--;
}
//8):按照球员在场上的位置,打印出球衣号码,打印风格:[11,22,33,44,55].
private static void print()
{
StringBuilder pBuilder=new StringBuilder(3*size+1);
pBuilder.append("[");
for(int i=0;i<size;i++)
{
pBuilder.append(player[i]);
if(i<size-1)
pBuilder.append(",");
else pBuilder.append("]");
}
System.out.println(pBuilder.toString());
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ininit(5);
shangchang(11);
shangchang(22);
shangchang(33);
shangchang(44);
shangchang(55);
print();
System.out.println(search(2));
System.out.println(chaxun(33));
tihuan(2,333);
print();
qiunum(22,222);
print();
faxia(2);
print();
}
}
//双向链表
package array;
import java.rmi.server.ObjID;
public class link {
private node first;
private node last;
private int size=0;
public void addfirst(Object ele)
{
node node=new node(ele);
if(size==0)
{
this.first=node;
this.last=node;
}else {
node.next=this.first;
this.first.prev=node;
this.first=node;
}
size++;
}
public void addlast(Object ele)
{
node node=new node(ele);
if(size==0)
{
this.first=node;
this.last=node;
}else {
this.last.next=node;
node.prev=this.last;
this.last=node;
}
size++;
}
public void print()
{
StringBuilder p=new StringBuilder(2*size-1);
p.append("[");
node current=this.first;
for(int i=0;i<size;i++)
{
p.append(current.ele);
if(i!=size-1)
{
p.append(",");
}
else {
p.append("]");
}
current=current.next;
}
System.out.println(p.toString());
}
public void delete(Object ele)
{
node current=this.first;
for(int i=0;i<size;i++)
{
if(!current.ele.equals(ele))
{
if(current.next==null)
{
return;
}
current=current.next;
}
}
if(current==this.first)
{
this.first=current.next;
this.first.prev=null;
}
else if(current==this.last)
{
this.last=current.prev;
this.last.next=null;
}
else {
current.prev.next=current.next;
current.next.prev=current.prev;
}
size--;
}
class node
{
node prev;
node next;
Object ele;
node(Object ele)
{
this.ele=ele;
}
}
}
package array;
public class zhufangfa {
public static void main(String[] args) {
// TODO Auto-generated method stub
link pLink=new link();
pLink.addfirst(1);
pLink.addfirst(5);
pLink.addfirst(6);
pLink.addfirst(9);
pLink.addlast(10);
pLink.print();
pLink.delete(10);
pLink.print();
}
}