سورس برنامه مرتب سازی به روش Heap

سورس برنامه مرتب سازی به روش Heap

با سلام. در این مطلب سورس برنامه مرتب سازی به روش Heap به زبان سی پلاس پلاس را از وب سایت آموزش برنامه نویسی سورس باران جهت دانلود قرار داده ایم. سورس برنامه مرتب سازی به روش Heap که یکی از سوالات و برنامه های مطرح در درس ساختمان داده ها می باشد به زبان سی پلاس پلاس می باشد.در این برنامه توسط خود برنامه به صورت تصادفی یک لیست از اعداد تهیه می شود و سپس به روش Heap مرتب سازی می شود.

جهت دانلود سورس برنامه مرتب سازی به روش Heap به زبان سی پلاس پلاس به ادامه مطلب مراجعه نمایید.

سورس برنامه مرتب سازی به روش Heap به زبان سی پلاس پلاس :

#include <iostream.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
void heapSort(int numbers[], int array_size);
void siftDown(int numbers[], int root, int bottom);
void main (void)
{
	const n = 10;
	int X[n];

	randomize();
	for (int i=0; i<n; i++)
	{
		X[i] = rand() % 100;
		cout << X[i] << "\t";
	}

	heapSort (X,n);

	cout<< endl;
	for (int i=0; i<n; i++)
		cout << X[i] << "\t";

	getch();
}
void heapSort(int numbers[], int array_size)
{
  int i, temp;

  for (i = (array_size / 2)-1; i >= 0; i--)
    siftDown(numbers, i, array_size);

  for (i = array_size-1; i >= 1; i--)
  {
    temp = numbers[0];
    numbers[0] = numbers[i];
    numbers[i] = temp;
    siftDown(numbers, 0, i-1);
  }
}


void siftDown(int numbers[], int root, int bottom)
{
  int done, maxChild, temp;

  done = 0;
  while ((root*2 <= bottom) && (!done))
  {
    if (root*2 == bottom)
      maxChild = root * 2;
    else if (numbers[root * 2] > numbers[root * 2 + 1])
      maxChild = root * 2;
    else
      maxChild = root * 2 + 1;

    if (numbers[root] < numbers[maxChild])
    {
      temp = numbers[root];
      numbers[root] = numbers[maxChild];
      numbers[maxChild] = temp;
      root = maxChild;
    }
    else
      done = 1;
  }
}

 

به این مطلب امتیاز دهید post

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

فیلم آموزشی ساخت سیستم ارسال پیامک با وب سرویس به زبان #C
دانلود با لینک مستقیم

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.