带头结点单链表
import java.util.Scanner;
class Linkedlist{
int data;
Linkedlist next;
Linkedlist(int x){ data=x;}
void append()
{
Scanner sc=new Scanner(System.in);
Linkedlist p=null,tail;//创建带头结点的单链表
tail=this;
while(tail.next!=null)
tail=tail.next;
int x=sc.nextInt();
while(x!=0)
{
p=new Linkedlist(x);
tail.next=p;
p.next=null;
tail=p;
x=sc.nextInt();
}
}
void show(){//编写方法void show(),输出表信息;
Linkedlist p;
p=this.next;
if(p==null)
System.out.printf("链表为空!");
while(p!=null)
{
System.out.printf("%d ",p.data);
p=p.next;
}
System.out.println();
}
public String toString()//用toString()实现支持直接打印对象
{
String s="";
Linkedlist p;
p=this.next;
while(p!=null)
{
s=s+p.data;
p=p.next;
s=s+' ';
}
return s;
}
}
class App{
public static void main(String[] args){
Linkedlist head=new Linkedlist(0);
System.out.println("请输入一组数以0结尾:");
head.append();
head.show();
System.out.println(head);
}
}
运行结果
数组
import java.util.Scanner;
import java.util.Arrays;
class sz{
int []a;
sz (int max){ a=new int [max];}
void append()
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入一组数以0结尾:");
int i=0,x;
x=sc.nextInt();
while(x!=0)
{
a[i]=x;
i++;
x=sc.nextInt();
}
}
}
class App{
public static void main(String[] args){
sz h=new sz (100);
h.append();
System.out.println(Arrays.toString(h.a));//用toString()实现支持直接打印对象
}
}
运行结果