৭-৮ঃ Sort Singly Linked List
এবার আমরা লিঙ্কড লিস্ট সর্ট করা দেখব সিলেকশন সর্ট দিয়ে।
for(int i=0;i<n-1;i++) // নেস্টেড লুপ চালিয়ে প্রতিটি এলিমেন্ট এর সাথে প্রতিটি এলিমেন্ট কম্পেয়ার করা হচ্ছে।
{
for(int j=i+1;j<n;j++)
{
if(a[i]>a[j]) // যদি পূর্বের ভেলুটি পরের ভেলু থেকে বড় হয়ে যায় তারমানে এরেটি সর্টেড নেই।
{
swap(a[i],a[j]); // তখন আমরা ভেলু দুটো সোয়াপ করে দিচ্ছি যেন সর্টেড হয়ে যায়।
}
}
}#include <bits/stdc++.h>
using namespace std;
class Node
{
public:
int val;
Node *next;
Node(int val)
{
this->val = val;
this->next = NULL;
}
};
void insert_tail(Node *&head, Node *&tail, int val)
{
Node *newNode = new Node(val);
if (head == NULL)
{
head = newNode;
tail = newNode;
return;
}
tail->next = newNode;
tail = newNode;
}
void print_linekd_list(Node *head)
{
Node *tmp = head;
while (tmp != NULL)
{
cout << tmp->val << " ";
tmp = tmp->next;
}
cout << endl;
}
int main()
{
Node *head = NULL;
Node *tail = NULL;
int val;
while (true)
{
cin >> val;
if (val == -1)
break;
insert_tail(head, tail, val);
}
for (Node *i = head; i->next != NULL; i = i->next)
{
for (Node *j = i->next; j != NULL; j = j->next)
{
if (i->val < j->val)
{
swap(i->val, j->val);
}
}
}
print_linekd_list(head);
return 0;
}Previous৭-৭ঃ Printing Singly Linked List in ReverseNext৭-বোনাসঃ Singly Linked list all operations complexity analysis
Last updated