zoukankan      html  css  js  c++  java
  • 删除指定学生链表中学生年龄为n的学生

    #include <iostream>
    
    using namespace std;
    
    typedef struct Student
    {
        int id;
        int age;
        Student *next;
    }Student;
    
    Student* createList(int num)
    {
        Student * head = (Student *)malloc(sizeof(Student));
        Student *p;
        p = head;
        int count = 0;
        while (num > 0)
        {
            Student *node = (Student *)malloc(sizeof(Student));
            node->id = ++count;
            node->age = count;
            p->next = node;
            p = node;
            num--;
        }
        
        p->next = NULL;
        return head;
    }
    
    void deleteList(Student *&list,int age)
    {
        Student *pre = list;
        Student *current = list->next;
        while (current != NULL)
        {
            if (current->age == age)
            {
                Student *tmp = current;
                pre->next = current->next;
                free(tmp);
                tmp    = NULL;
                break;
            }
            pre = pre->next;
            current = current->next;
        }
        
    }
    
    void printList(Student *list)
    {
        Student *node = list->next;
        while(node != NULL)
        {
            cout << node->id << " ";
            node = node->next;
        }
        cout << endl;
    }
    
    int main(int argc, char const *argv[])
    {
        Student * list = createList(5);
    printList(list); deleteList(list,
    1); printList(list); return 0; }
  • 相关阅读:
    SQL 脚本 重复执行 约束
    xiami 精选集
    PHP 5 环境配置
    Thread线程类
    创建线程
    C#中简单的正则表达式(也经常会用到的)
    线程的挂起与恢复
    C#操作INI文件
    多线程简介
    单线程简介
  • 原文地址:https://www.cnblogs.com/missliuxin/p/3603440.html
Copyright © 2011-2022 走看看