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