সম্ভবত অ্যালগরিদম নিজেই সেই অস্পষ্ট নয়, তবে বাস্তবে অনুশীলনে ব্যবহৃত একটি প্রয়োগের নাম কে দিতে পারে? আমি পারি!
টিআইজিসিসি (টিআই-89/92 / ভি 200 গ্রাফিং ক্যালকুলেটরগুলির জন্য একটি জিসিসি ভিত্তিক সংকলক) qsort
স্ট্যান্ডার্ড লাইব্রেরিতে প্রয়োগের জন্য শেল সাজ্ট ব্যবহার করে :
__ATTR_LIB_C__ void qsort(void *list, short num_items, short size, compare_t cmp_func)
{
unsigned short gap,byte_gap,i,j;
char *p,*a,*b,temp;
for (gap=((unsigned short)num_items)>>1; gap>0; gap>>=1) // Yes, this is not a quicksort,
{ // but works fast enough...
byte_gap=gap*(unsigned short)size;
for(i=byte_gap; i<((unsigned short)num_items)*(unsigned short)size; i+=size)
for(p=(char*)list+i-byte_gap; p>=(char*)list; p-= byte_gap)
{
a=p; b=p+byte_gap;
if(cmp_func(a,b)<=0) break;
for(j=size;j;j--)
temp=*a, *a++=*b, *b++=temp;
}
}
}
কোডের আকার কম রাখার জন্য শিক বাছাইটি কুইকোর্টের পক্ষে বেছে নেওয়া হয়েছিল। যদিও এটি অ্যাসিপটোটিক জটিলতা আরও খারাপ, টিআই -৯৯ এর পুরো প্রচুর র্যাম নেই (১৯০ কে, বিয়োগক্রমের আকার এবং কোনও সংরক্ষণাগারভুক্ত ভেরিয়েবলের মোট আকার) নেই, তাই আইটেমের সংখ্যাটি হবে বলে ধরে নেওয়া কিছুটা নিরাপদ নিচে.
আমি যে প্রোগ্রামটি লিখছিলাম তাতে এটি খুব ধীর হয়ে গেছে বলে অভিযোগ করার পরে একটি দ্রুত বাস্তবায়ন লেখা হয়েছিল। এটি সমাবেশ অপ্টিমাইজেশনের পাশাপাশি আরও ভাল ব্যবধানের মাপ ব্যবহার করে। এটি এখানে পাওয়া যাবে: qsort.c