公司门户网站建设公司,英山建设银行网站,扶贫工作网站怎么做,用模板搭建的网站备案吗链表
链表是一种基本的数据结构#xff0c;是由一系列节点组成的集合。每个节点包含两个部分#xff1a;值和指向下一个节点的指针。链表中的节点可以动态地添加、删除#xff0c;其大小可以根据需要进行扩展或缩小。 链表通常用于处理不固定长度的数据结构#xff0c;具有…链表
链表是一种基本的数据结构是由一系列节点组成的集合。每个节点包含两个部分值和指向下一个节点的指针。链表中的节点可以动态地添加、删除其大小可以根据需要进行扩展或缩小。 链表通常用于处理不固定长度的数据结构具有插入、删除等操作效率高的优点。与数组相比链表在随机访问时性能较低但在增删操作时更为高效。 那么链表和数组的区别是什么呢
1存储方式数组在内存中按照地址顺序依次存储而链表通过节点之间的指针连接起来。
2访问方式数组可以通过下标直接访问其中的元素时间复杂度为O(1)而链表需要遍历整个链表才能找到特定节点时间复杂度为 O(n)。
3大小固定性数组有固定大小创建时必须指定大小不能动态增长或缩小。链表则没有这个限制可以根据需要动态添加或删除节点大小不受限制。
4插入与删除操作向数组中插入或删除一个元素需要移动其他元素开销较大而链表可以在任意位置高效地进行插入和删除操作。
5内存分配方式数组在声明时就会占用一段连续内存空间而链表动态分配内存在运行期间更加灵活。 数组的优缺点 支持快速随机访问 优 内存连续预读性能好 易于实现和使用 需要一段连续的内存空间大小固定 缺 插入和删除操作需要移动其他元素 如果数组中有大量未使用的空间会浪费内存 链表的优缺点 可以动态添加和删除节点大小不受限制 优 插入和删除数据非常高效 不需要一段连续的内存空间 随机访问效率低需要遍历整个链表 缺 链接指针需要额外的空间存储 分配和释放内存需要时间和开销 链表的C/C实现 ————————————将链表的逻辑视图映射到C/C程序————————————
一、在尾部插入节点 struct Node
{int data;Node* link;
}struct Node* A;
ANULL;
Node*tempnew Node(); //Node*temp(Node*)malloc(sizeof(Node));
temp-data2; //(*temp).data2;
temp-linkNULL; //(*temp).linkNULL;
Atemp;tempnew Node();
temp-data4;
temp-linkNULL;
另外我们就可以通过一个循环来到达链表末端实现到达最后一个节点的基本逻辑。如下图 二、在头部插入节点 三、其它简易操作