Thêm một phần tử vào giữa danh sách liên kết đơn

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    23014371  đã bình luận lúc 14, Tháng 2, 2025, 15:27

    code như code cũ mà không chạy được cứ chạy là nối # include <stdio.h>

    include <stdlib.h>

    typedef struct Node{ int data; struct Node *next; } Node;

    Node createNode(int data){ Node *newNode = (Node)malloc(sizeof(Node)); newNode->data = data; newNode->next = NULL; return newNode; }

    void insertAtBeginning(Node **head, int data){ Node *newNode = createNode(data); newNode->next = *head; *head = newNode; }

    void insertAfter(Node **prevNode, int data){ if(prevNode == NULL){ printf("NULL\n"); return; } Node *newNode = createNode(data); newNode->next = prevNode->next; prevNode->next = newNode; }

    int main(){ int n,m,l; Node *head = NULL; scanf("%d", &n); for(int i = 0; i < n; i++){ scanf("%d %d", &m,&l); Node *current = head; Node *prev = NULL; while(current != NULL && current->data != l){ prev = current; current = current->next; } if(current != NULL){ insertAfter(current, m); }else{ insertAtBeginning(&head, m); } } Node *current = head; while(current != NULL){ printf("%d ", current->data); current = current->next; } return 0; }

    thêm 1 phần tử vào giữu danh sách liên kết đơn