链表的基本操作
来源:互联网 发布:制表软件 编辑:程序博客网 时间:2024/06/06 04:34
实现链表的基本运算
//链表的基本操作class Linkegg{public Node head;public int size=0;private class Node{ int data; Node next;}public boolean isEmpty(){return head.next==null;}//初始化public void addLast(int a[]){Node newData;Node oldLast=new Node();head=oldLast;for(int i=0;i<a.length;i++){newData=new Node();newData.data=a[i];oldLast.next=newData;newData.next=null;oldLast=newData;size++;}}//链中插入public void insertData(int d,int index){Node p=new Node();p.data=d; Node upa=head; Node down=head;for(int i=0;i<index;i++){upa=down;down=down.next;}upa.next=p;p.next=down; size++;}public void toStringData(){Node da;da=head.next;while(da!=null){System.out.print(da.data+" ");da=da.next;}System.out.println(" ");}//链尾插入public void addListData(int a){Node p=new Node();p.data=a;Node daa=head;for(int i=0;i<size;i++){daa=daa.next;}daa.next=p;p.next=null;size++;}//链头插入public void addHead(int a){Node p=new Node();p.data=a;p.next=head.next;head.next=p;size++;}public void movie(int index){Node p=head;for(int i=0;i<index-1;i++){p=p.next;}p.next=p.next.next;}}public class myLink{ public static void main(String[] args) {// TODO Auto-generated method stubint a[]={0,9,6,3}; Linkegg aa=new Linkegg(); aa.addLast(a); aa.toStringData(); aa.insertData(2,2); aa.toStringData(); aa.addListData(5); aa.toStringData(); aa.addHead(5); aa.toStringData(); aa.movie(2); aa.toStringData(); }}
演示结果
0 0
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- R语言实例-身份证信息提取
- 20151104
- Maven 之setting.xml pom.xml
- PNChart iOS图表类第三方
- 网狐棋牌(二) CQueueServiceEvent初步分析
- 链表的基本操作
- 电商搜索引擎
- 网狐棋牌(三) 调度引擎初步分析
- 编译过程中遇到的一些错误
- 1153 - Got a packet bigger than 'max_allowed_packet' bytes With statement
- 【LeetCode从零单刷】Longest Consecutive Sequence
- 补充的算法题
- iOS小技巧-UITextFiled/UITextView设置系统圆角边框
- ptr_fun