সিংলি লিংকড লিস্টে প্রতিটি নোডে থাকে ডেটা এবং nextptr। লিস্টকে ইন-প্লেস রিভার্স করে (পয়েন্টার রি-অ্যারেঞ্জ করে) উল্টা ক্রমে ডিসপ্লে করা হয়।
মূল লজিক (reverseDispList)
prevNode = stnode;
curNode = stnode->nextptr;
stnode = stnode->nextptr;
prevNode->nextptr = NULL; // প্রথম নোডকে শেষ নোড বানানো
while (stnode != NULL) {
stnode = stnode->nextptr;
curNode->nextptr = prevNode;
prevNode = curNode;
curNode = stnode;
}
stnode = prevNode; // শেষ নোডকে হেড বানানো
C কোড (সংক্ষিপ্ত)
#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("Input number of nodes: ");
scanf("%d", &n);
createNodeList(n);
displayList();
reverseDispList();
displayList(); // এখন রিভার্স অর্ডারে দেখাবে
return 0;
}
// ... createNodeList, reverseDispList, displayList ফাংশনগুলো الأصلية কোডে আছে
নমুনা আউটপুট
Data entered: 12 45 11 9 10 Reversed: 10 9 11 45 12