Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C in ngược danh sách liên kết đơn

Danh sách liên kết đơn (singly linked list) chỉ có con trỏ next. Chương trình tạo danh sách, sau đó đảo ngược thứ tự nút (in-place) và in ra.

Chương trình

#include <stdio.h>
#include <stdlib.h>

struct node {
    int num;
    struct node *nextptr;
} *stnode;

void createNodeList(int n);
void reverseDispList();
void displayList();

int main() {
    int n;
    printf("\n Single Linked List: print in reverse order:\n");
    printf("----------------------------------------------\n");
    printf(" Input number of nodes: "); scanf("%d", &n);
    createNodeList(n);
    printf("\n Data entered:\n"); displayList();
    reverseDispList();
    printf("\n Reversed list:\n"); displayList();
    return 0;
}

// createNodeList: cấp phát nút, nhập dữ liệu, nối đuôi
// reverseDispList: đảo ngược con trỏ next bằng 3 con trỏ prevNode, curNode, stnode
// displayList: duyệt in từ stnode đến NULL

Kết quả mẫu

Input nodes: 5, data: 12 45 11 9 10
Data entered: 12 45 11 9 10
Reversed: 10 9 11 45 12