الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال ساعدوني فيه الله يخليكم

بدأه cute_cs في 9 مايو 2009 · 0 رد · 215 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

انا عضوة جديده عندكم

انا كتبت معظم الكود بس في شغلتين مو heap وعندي سؤال عن

زابطين معي موجودين بالكود بس دون ما اكبلهم الكود

checkheap

heapify

لكن انا بعرف انه في heapify

لازم اتاكد من اليمين واليسار (الابناء) واقارنها مع الاب اذا كان هو الاكبر من بينهم

او لا لأني هون انا بشتغل على max

وكمان لازم اتأكد من heap-size

وبعدين اعمل تبديل

لكن مش عارفه ازبطهم بكود

وهاد الكود الي انا عملته

#include <time.h>

#include <iostream>

#include <stdio.h>

void printA(int A[], int n);

void checkHeap(int A[], int n);

void Heapify(int A[], int n, int i);

void BuildHeap(int A[], int n);

void HeapSort(int A[], int n);

int HeapSize=0;

using namespace std;

int main()

{

int n=10; // input size

//create and intialize A with size n

int *A;

srand ( time(NULL) );

A=new int[n];

for(int i=0; i<n; i++) {A=(rand() /100);}

printA(A,n);

checkHeap(A,n);

HeapSort(A,n);

printA(A,n);

}

void printA(int A[], int n){

cout << endl << "A=[";

for(int i=0; i<n; i++) cout << A << ", ";

cout << " ]" << endl<< endl;

}

void checkHeap(int A[], int n){

// your code here

}

void Heapify(int A[], int n, int i){

// your code here

// note: index starts from 0 and thus left(i) and right(i)

// should be modified

}

void BuildHeap(int A[], int n){

HeapSize=n;

for(int i=n/2-1; i>=0; i--)

Heapify(A,n,i);

}

void HeapSort(int A[], int n){

BuildHeap(A,n);

for(int i=n-1;i>=1; i--){

int temp=A; A=A[0]; A[0]=temp;

HeapSize--;

Heapify(A,n,0);

}

}

يا ريتكم تساعدوني اليوم :wub:

مواضيع مشابهة