链表复习
(1)增加用头插法可以避免尾插法中第一次没有内存的情况
(2)普通的删除需要区分是不是头结点,因为头结点没有父节点,所以给链表加一个空的父节点,。
public class List {
//列表有一个空的头结点
private Node link = new Node();
//添加使用头插法,把插入节点放到空的头结点的后面
public void add(int value ) {
Node node =new Node();
node.value=value;
node.next=link.next;
link.next=node;
}
public void del(int value) {
//用flag来判断该结点是否需要删除
//用parent来记录falg上一个结点的位置
Node parent =link;
Node flag =parent.next;
while(flag!=null) {
if (flag.value==value) {
//如果flag需要删除,让parent的next指向flag的next,略过flag
parent.next=flag.next;
}else {
//如果flag不需要删除,parent指向flag,接着向后寻找
parent=flag;
}
//无论flag需不需要删除,都要向后继续寻找,flag到下一个
flag=flag.next;
}
}
}
Socket
Html本身就是字符串,浏览器就是从远程服务器上下载字符串到本地然后解析。
如果某个程序支持某个文件的编码,那么该程序就能打开该文件,如果不支持该文件编码,就不
能打开。如果两个程序支持的编码有重叠或者相同,就能打开彼此的文件。
在网络中传输数据的时候是无法保留类型的,文件类型也可以以文本类型进行传输,
传输都是通过字符串类型进行传输,传送完成再进行解析还原。
web服务器接收到请求时,服务器会根据请求寻找相对应的文件和文本,
然后返回到请求端,浏览器接收到这些文本就可以解析显示出来。传输的关键在于协议,
使用相同协议不同的语言之间也是可以互通的。
网卡负责数据的接收与发送,它可以实现电信号与数字信号转化,网卡驱动对网卡进行操作,Socket是和网卡驱动对接。
不同语言的socket都是调用C语言的socket。各种语言都可以对磁盘进行查询和对文件读写。