একই ধরণের তথ্যের যে কোনও ক্রম তালিকা হিসাবে উপস্থাপন করা যেতে পারে। তালিকাগুলি অর্ডার এবং আনর্ডার্ড করা যেতে পারে। পরবর্তী ক্ষেত্রে, ডেটা সহ কাজ করা, পছন্দসই মানটি সন্ধান করা এবং তালিকার উপাদানগুলিতে অ্যাক্সেস নির্দিষ্ট অসুবিধা সৃষ্টি করে। স্ট্রিং ভেরিয়েবলের তালিকা সাধারণত বর্ণানুক্রমিকভাবে বাছাই করা হয়। অনেকগুলি বাছাই করার পদ্ধতি রয়েছে, প্রতিটি ক্ষেত্রে আপনার সর্বাধিক অনুকূল অ্যালগরিদম নির্বাচন করা উচিত।
নির্দেশনা
ধাপ 1
সেরা বাছাই করার পদ্ধতিটি নির্বাচন করার সময়, দুটি বিষয় বিবেচনা করতে হবে: বাছাইয়ের ক্রিয়াকলাপের জন্য সময় সময় এবং সহায়ক স্টোরেজটির জন্য প্রয়োজনীয় মেমরির পরিমাণ। অতিরিক্ত মেমরির প্রয়োজন হয় না এমন অ্যালগরিদমগুলি বাছাই করার ক্ষেত্রে "স্থান" অনুসারে বাছাই করা হয়। কার্যকর করার অন্যতম সহজ হ'ল ধীর বুদ্বুদ সাজান যা তালিকার প্রতিটি জোড়া আইটেমটি স্ক্যান করে এবং পছন্দসই ক্রমের উপর নির্ভর করে স্থানগুলি অদলবদল করে।
ধাপ ২
তালিকার সর্বনিম্ন বা সর্বাধিক আইটেমটি খুঁজে পেয়ে একটি দ্রুত বাছাই করার পদ্ধতি রয়েছে। বর্ণমালা অনুসারে বাছাইয়ের ক্ষেত্রে, আপনি যখন তালিকার মধ্য দিয়ে যাবেন, আপনাকে তার সর্বোচ্চ উপাদানটি খুঁজে বের করতে হবে - এটি বর্ণমালার শুরুর নিকটতম বর্ণটি দিয়ে শুরু হওয়া একটি স্ট্রিং হবে। একবার পাওয়া গেলে, স্ট্রিংটি প্রথম পাসের তালিকার খুব প্রথম আইটেমটির সাথে অদলবদল করা হয়। তালিকার আরও বিবেচনা করার পরে, প্রথম স্থানটি বাদ দেওয়া হয়, পরবর্তী সর্বোচ্চ উপাদানটি চাওয়া হয়, দ্বিতীয় স্থানে রাখা হয় ইত্যাদি etc. তালিকার সর্বাধিক উপাদান সন্ধানের পদ্ধতি অনুসারে সি ++ তে বাছাইকরণের কোড: স্ট্রিং আরার [২০], সিটেম্প; ইনটি এন = ২০, ম্যাক্স, পোজ; এর জন্য (int i = 0; i <N- 1; আমি ++) {সর্বোচ্চ = অ্যার ; পস = আমি; (int j = 0; j <N; j ++) {যদি (আরআর [জে] <সর্বোচ্চ) {সর্বোচ্চ = অ্যার [জে]; পস = জ; } সিটেম্প = অ্যার ; অর = অর [পোস্ট]; অর [পোস্ট] = সিটেম্প; }}
ধাপ 3
একটি তালিকায় স্ট্রিং ডেটা অর্ডার করার জন্য সর্বাধিক অনুকূল সমাধানটি সন্নিবেশ সাজানো। এর সারমর্মটি এই সত্যে নিহিত যে তালিকার প্রতিটি পাসের সাথে একটি নির্দিষ্ট সংখ্যক উপাদানগুলির তালিকার একটি আদেশযুক্ত অংশ রয়েছে, সুতরাং, বিবেচনাধীন পরবর্তী উপাদানটি তালিকায় একটি উপযুক্ত জায়গায় স্থাপন করা হয়েছে। সি ++ সন্নিবেশ সাজানোর অ্যালগরিদমের কোড: স্ট্রিং আরার [20], সিটেম্প; ইন এন = 20; এর জন্য (ইনট আই = 1, জে = 0; আই <এন; আই ++) {সিটেম্প = অ্যারে ; j = i - 1; যখন (সিটেম্প <আরআর [জে]) {আরআর [জে + 1] = অ্যার [জে]; j--; যদি (j <0) বিরতি; অ্যার [j + 1] = সিটেম্প; }}