链表 添加链表、搜索链表、删除链表

本文详细介绍了如何进行链表的基本操作,包括如何添加新的节点到链表中,如何在链表中搜索特定元素,以及如何有效地删除链表中的节点。通过实例解析,深入理解链表数据结构及其操作的重要性。
摘要由CSDN通过智能技术生成
#include <stdio.h>
#include <stdlib.h>
/* 利用可变数组的思想:Linked Block 当中不用copy value */
/* 可变数组的缺陷:1.新申请空间,然后往新空间赋值数据花费时间;2.数组增长时,可能遇见内存限制 */
/* 单向链表思想:指针->头节点(数据+指针)->节点(数据+指针)->节点(数据+指针)->尾节点(数据+指针)->NULL */
typedef struct _node
{
  int value;
  struct _node *next;//结构体指针,指向该类型的结构体
}Node;

typedef struct _list{
  Node *head;
  // Node *tail;
} List;

void add(List* pList, int number);
void print(List *pList);

int main(){
  int number;
  /* Node *head = NULL;//定义一个结构体指针,指向该结构体,头节点 */
  List list;
  list.head = NULL;
  printf("链表头节点地址为%X\n", list.head);
  do{
    printf("请用户向链表中输入数字\n");
    scanf("%d", &number);
    printf("用户当前向链表中输入数字为:%d\n", number);
    printf("\n");
    if(number!=-1){
      /* start:制造新节点 */
      /* Node *p = (Nope *)malloc(sizeof(Node));//申请一个NODE类型的结构体空间,中间节点
      p->value =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值