• 数据结构-单链表


    strct LNode {
    	// 定义单链表的结构体
    	int data; // 数据域
    	struct LNode *next; // 下一指针域
    }
    
    // 头插法建立单链表
    void HeadAdd(LNode *L, int e) {
        // 在头结点之后插入元素e
        LNode *q, *p =L;
        q = (LNode *)malloc(sizeof(LNode)); // 需要开辟空间
        
        q -> data = e;
        q -> next = p -> next;
        p -> next = q;
    }
    
    // 尾插法建立单链表
    void TaillAdd(LNode *L, int e) {
        LNOde *q, *P = L;
        q = (LNode *)malloc(sizeof(LNode)); // 需要开辟的空间
        while(p -> next) p = p->next;
        
        q -> data = e;
        q -> next = NULL;
        p -> next  = q;
    }
    
    
    // 单链表按值查找
    bool Look(LNode *L, int e) {
        // 查找单链表中数据域为e的结点的指针
        LNode *p = L;
        while(P != NULL) {
            p = p ->next;
            if(p -> data ==e) {
                return 1;
            }
        }
        return 0;
    }
    
    // 单链表按值删除
    bool DelElem (LNode *L, int e) {
        LNode *q = L, *p = L -> next; // q是p的前驱
        while(p != NuLL) {
            if(p -> data == e){
                break;
            }
             p = p -> next;
             q = q -> next;
        }
      	if(p -> data ==e) {
            q -> next = p ->next
            free(p);
            return 1;
        } else {
            return 0;
        } 
    }
    
    // 单链表打印
    void print(LNOde *p) {
    	// 打印单链表
    	cout << "开始打印,," << endl;
    	
    	int i =0;
    	while(p) {
    		cout << i++ <<":" << p -> data << endl;
    		p = p -> next;
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
  • 相关阅读:
    python爬取b站弹幕可视化词云图问题
    GNU LD脚本命令语言(一)
    ARM架构Linux安装Openjdk11
    洛谷 P3376 【模板】网络最大流
    1014 Waiting in Line(30)& 1017 Queueing at Bank(25)
    第十四届校模拟赛第一期(一)
    【分布式通信】NPKit,NCCL的Profiling工具
    nginx 配置反向代理
    java 桥接方法
    MySQL 性能优化
  • 原文地址:https://blog.csdn.net/qq_44665456/article/details/126841764