头插法代码示例
public class LinkDemo {
public static void main(String[] args) {
//将这个数组按头插的方式插入列表
int[] arr={1,2,3,4,5,6,7,8,9};
headIndert(arr);
}
public static void headIndert(int[] arr){
Node link=null;
for (int i = 0; i < arr.length; i++) {
Node x=new Node();
x.value=arr[i];
x.next=link;
link=x;
}
System.out.println(link);
}
}
对应内存图
- 当i=0,第一次循环
![0](https://i-blog.csdnimg.cn/blog_migrate/d242f96b349599d74c6b7174b05b8b8b.png)
- 第一次循环结束,回收循环体内的变量x
![0](https://i-blog.csdnimg.cn/blog_migrate/14c1cb183ad73d54372d0fb31e5bce80.png)
- i=1,第二次循环
![0](https://i-blog.csdnimg.cn/blog_migrate/53bd41340eb0c835a75d407ae9fae13e.png)
- 第二次循环结束,回收循环体内变量x
![0](https://i-blog.csdnimg.cn/blog_migrate/2a293c34776332985cad927cf3dc8f01.png)
循环两次后当前链表为:
![0](https://i-blog.csdnimg.cn/blog_migrate/6f15a9b52614964a3b88b9cc0bcf6625.png)
- 接着进行循环,直至到达循环停止条件
- .........