সি ++ এ বাছাইয়ের ক্রিয়াটি কীভাবে প্রয়োগ করা যায়?



এই নিবন্ধটি আপনাকে সি ++ এ বাছাইয়ের ক্রিয়াকলাপটি অন্বেষণে সহায়তা করবে এবং প্রক্রিয়াটিতে আপনাকে ধারণার উপর একটি বিশদ প্রদর্শন করতে পারে

শ্রেণীবিভাজন ডেটা প্রয়োগ করা সবচেয়ে মৌলিক এবং দরকারী ফাংশন এক। এটি একটি নির্দিষ্ট ফ্যাশনে ডেটা সাজানোর লক্ষ্যে রয়েছে যা প্রয়োজনীয়তা অনুসারে বাড়তে বা হ্রাস পেতে পারে। ‘সাজানো ()’ নামে সি ++ এসটিএলে একটি বিল্টিন ফাংশন রয়েছে যা আমাদের সহজেই অ্যালগরিদমকে বাছাই করতে দেয় allows এই নিবন্ধে আমরা সি ++ এ বাছাই করুন ফাংশনটি অন্বেষণ করব

নিম্নলিখিত পয়েন্টারগুলি এই নিবন্ধে আবৃত হবে:





সি ++ এ বাছাই করুন ফাংশন সম্পর্কিত এই নিবন্ধটি নিয়ে চলেছেন

সাজান ( ) ফাংশন

এটি একটি অ্যালগরিদম শিরোলেখ ফাইলের অন্তর্নির্মিত ফাংশন এটি একটি নির্দিষ্ট ক্রমে ধারকগুলি অ্যারে, ভেক্টরগুলির মতো বাছাই করতে ব্যবহৃত হয়। অভ্যন্তরীণভাবে এই ফাংশনটি দ্রুত সাজানোর হিসাবে প্রয়োগ করা হয়
কুইকোর্ট একটি বিভাজন এবং বিজয়ী অ্যালগরিদম। কুইকসোর্ট প্রথমে দুটি উপাদানের একটি বৃহত তালিকা দুটি ছোট ছোট সাব-তালিকায় বিভক্ত করে: নিম্ন উপাদান এবং উচ্চতর উপাদান। কুইকসোর্ট এরপরে পুনরাবৃত্তভাবে উপ-তালিকাগুলি বাছাই করুন।



নিম্নরূপ পদক্ষেপ:
1. তালিকা থেকে একটি এলোমেলো উপাদান বেছে নিন (সাধারণত শেষ উপাদান), যাকে পিভট বলা হয়।
২. তালিকাকে এমনভাবে পুনঃক্রম করুন যাতে পিভটের চেয়ে কম মানের সমস্ত উপাদান পিভটের আগে উপস্থিত হয়, যখন পাইভটের চেয়ে বড় মানের সমস্ত উপাদান তার পরে আসে এবং সমান মান উভয় দিক দিয়ে যেতে পারে এই প্রক্রিয়াটিকে পার্টিশন অপারেশন বলে।
৩. কম উপাদানগুলির উপ-তালিকা এবং বৃহত্তর উপাদানগুলির উপ-তালিকাটি পুনরাবৃত্তি অনুসারে বাছাই করুন, আবার উপ-তালিকায় একটি পিভট নির্বাচন করুন এবং তাদের ভাগ করুন।
পুনরাবৃত্তির বেস কেস হ'ল আকারের শূন্য বা একের তালিকা, যা কখনই বাছাই করা দরকার না এবং এইভাবে তাদের সংযুক্ত করে আমরা আমাদের তালিকাটি বাছাই করি।

সোনার বাছাই বা বুদ্বুদ সাজানোর মতো অন্যান্য ও (এন লগ এন) অ্যালগরিদমের চেয়ে কুইকসোর্টটি অনুশীলনে দ্রুততর। কুইকসোর্ট একটি ইন-প্লেস পার্টিশন অ্যালগরিদম দিয়ে প্রয়োগ করা যেতে পারে যার অর্থ সম্পূর্ণ সাজানটি কেবল ও (লগ এন) অতিরিক্ত স্থান দিয়ে করা যায়। কুইকসোর্ট স্থিতিশীল বাছাই নয়।
এর জটিলতা নিম্নরূপ:
সেরা কেস - ও (এন লগ এন)
সবচেয়ে খারাপ কেস - ও (এন ^ 2)
গড় কেস - ও (এন লগ এন)

বাক্য গঠন:
সাজান (প্রথম, শেষ)
এখানে,
প্রথম - সাজানোর জন্য পরিসরের প্রথম উপাদানটির সূচক (পয়েন্টার)।
সর্বশেষ - বাছাই করার জন্য পরিসীমাটির সর্বশেষ উপাদানটির সূচক (পয়েন্টার)।
উদাহরণস্বরূপ, আমরা 1 থেকে 10 পজিশনে একটি অ্যারের উপাদানগুলিকে বাছাই করতে চাই 'আমরা সাজান (আর্ট, অ্যারে + 10) ব্যবহার করব এবং এটি 10 ​​উপাদানকে আরোহণের ক্রমে সাজিয়ে রাখবে will
ফেরত মূল্য
কিছুই না



জটিলতা

একটি সাজানোর জটিলতার গড় গড় হল এন * লগ 2 (এন), যেখানে এন = শেষ - প্রথম।

ডাটা পরিসীমা
পরিসরে থাকা অবজেক্টটি [প্রথম, শেষ) পরিবর্তিত হয়েছে।

ব্যতিক্রম
টেমপ্লেট প্যারামিটারের সাথে ওভারলোডগুলি যা এক্সিকিউশনপলিসি রিপোর্ট ত্রুটি হিসাবে চিহ্নিত হয়েছে:
অ্যালগরিদম মেমরি বরাদ্দ করতে ব্যর্থ হলে, স্ট্যান্ড :: খারাপ_লোক ব্যতিক্রম হিসাবে নিক্ষেপ করা হয়।
অ্যালগোরিদমের অংশ হিসাবে যদি কোনও ক্রিয়াকলাপ সম্পাদন করা হয় তবে এটি একটি ব্যতিক্রম std :: সমাপ্তি ছুড়ে দেয়।

পরিবর্তনীয় এবং অপরিবর্তনীয় বস্তুর মধ্যে পার্থক্য ব্যাখ্যা কর।

সি ++ এ বাছাই করুন ফাংশন সম্পর্কিত এই নিবন্ধটি নিয়ে চলেছেন

উদাহরণ - আরোহী ক্রমে ডেটা সাজানোর জন্য:

# নেমস্পেস স্টাড ইনট মেইন () {ইনট অ্যারে ব্যবহার করে অন্তর্ভুক্ত করুন [] = {10, 35, 85, 93, 62, 77, 345, 43, 2, 10} ইন্ট এন = সাইজ (অ্যারে) / সাইজফ (অ্যারে [0] ) // 'আকারফুল' মোট অ্যারের আকার দেয় অর্থাৎ প্রতিটি অক্ষরের আকার * না। অক্ষর // যাতে না পেতে। অক্ষরের // আমরা অ্যারের যে কোনও একটি বর্ণের আকারের সাথে মাপের (অ্যারে) ভাগ করি // এখানে এটি অ্যারে [0] সাজান (অ্যারে, অ্যারে + এন) কোট<< 'nArray after sorting using ' 'default sort is : n' for (int i = 0 i < n ++i) cout << array[i] << ' ' return 0 } 

আউটপুট:

আউটপুট- সি ++ এ সাজান ফাংশন - এডুরেকা

ব্যাখ্যা

উপরের উদাহরণ থেকে আমরা দেখতে পেলাম যে ডিফল্টরূপে () ফাংশনটি একটি ক্রমের উপরে বাছাই করে সাজায়।

সি ++ এ বাছাই করুন ফাংশন সম্পর্কিত এই নিবন্ধটি নিয়ে চলেছেন

বিমূর্ত শ্রেণি এবং ইন্টারফেসের মধ্যে পার্থক্য কী

উদাহরণ - উতরান ক্রমে ডেটা সাজানোর জন্য:

অ্যারির ডেটাটিকে অবতরণ করে সাজানোর জন্য আমাদের তৃতীয় প্যারামিটারটি প্রবর্তন করতে হবে যা উপাদানগুলি ক্রমবিন্যাস করতে হবে তা নির্দিষ্ট করতে ব্যবহৃত হয়। উত্থিত ক্রমে ডেটা সাজানোর জন্য আমরা 'বৃহত্তর ()' ফাংশনটি ব্যবহার করতে পারি।

# নেমস্পেস স্ট্যান্ড ইনট মেইন () {ইন্টি অ্যারে ব্যবহার করে অন্তর্ভুক্ত করুন [] = {41, 53, 4, 459, 60, 7, 23, 4, 232, 10} ইন্ট এন = সাইজ (অ্যারে) / সাইজ (অ্যারে [0] ) সাজান (অ্যারে, অ্যারে + এন, বৃহত্তর ()) কোট<< 'Array after sorting : n' for (int i = 0 i < n ++i) cout << array[i] << ' ' return 0 } 

আউটপুট:

এক্সপ্রেস l একটি জাতি
এখানে সাজানোর () ফাংশনটি এমন উপায়ে একটি তুলনা করে যা বৃহত্তর উপাদানটিকে আগে রাখে।

সি ++ এ বাছাই করুন ফাংশন সম্পর্কিত এই নিবন্ধটি নিয়ে চলেছেন

আংশিক_সোর্ট

সি ++ এসটিএল আমাদের একটি আংশিক বাছাইকরণ ফাংশন সরবরাহ করে, ফাংশনটি সাজানোর () ফাংশনের অনুরূপ তবে সাজানোর () ফাংশনের বিপরীতে এটি সম্পূর্ণ পরিসীমা বাছাই করতে ব্যবহৃত হয় না বরং এটি কেবল তার একটি উপ-অংশকে সাজানোর জন্য ব্যবহৃত হয়। এটি [প্রথম, শেষ) এর ব্যাপ্তিতে উপাদানগুলি এমনভাবে সাজায় যে মধ্যম উপাদানের পূর্বে উপাদানগুলি ক্রমবর্ধমান ক্রম অনুসারে বাছাই করা হয়, যেখানে মাঝের পরের উপাদানগুলি যেমন থাকে তেমন থাকে।

যদি আমরা প্রথম অবস্থানের জন্য বাছাই করতে কোনও ফাংশন অবজেক্ট ব্যবহার করি তবে এটি বৃহত্তম উপাদানটি অনুসন্ধান করতে ব্যবহৃত হতে পারে

উদাহরণ

# অন্তর্ভুক্ত # অন্তর্ভুক্ত # নেমস্পেস ব্যবহার করে স্ট্যান্ড ইন্ট মেইন () ct ভেক্টর ভেক = {10, 45, 60, 78, 23, 21, 30} ভেক্টর :: পুনরুদ্ধারকারী আইপিআরটি আংশিক_সোর্ট (ভেক.বেগিন (), ভিসি.বেগিন () + 1, vec.end (), বৃহত্তর ()) iptr = vec.begin () কোট<< 'The largest element is = ' << *iptr return 0 } 

আউটপুট:

ব্যাখ্যা:
উপরের কোডটি সিরিজের সর্বাধিক সংখ্যা অনুসন্ধান করতে, সিরিজের ক্ষুদ্রতম সংখ্যার সন্ধান করতে আমাদের কেবল বৃহত্তর কমান্ডটি সরিয়ে ফেলতে হবে।

সুতরাং আমরা এই প্রবন্ধটির শেষে এসেছি ‘সি ++ এর মধ্যে কাজ সাজান’। আপনি যদি আরও শিখতে চান তবে একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা এডুরেকা দ্বারা জাভা প্রশিক্ষণটি দেখুন। এডুরিকার কোর্সটি আপনাকে হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ব্লগের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।