You are on page 1of 4

HEAP SORT OUTPUT

#include<stdio.h>

#define MAX_SIZE 8

void heap_sort();

void heap_adjust(int, int);

int arr_sort[MAX_SIZE], t, a;

int main() {

int i;

printf("\nEnter %d Elements for Sorting\n", MAX_SIZE);

for (i = 0; i < MAX_SIZE; i++)

scanf("%d", &arr_sort[i]);

printf("\nYour Data :");

for (i = 0; i < MAX_SIZE; i++) {

printf("\t%d", arr_sort[i]);

heap_sort();

printf("\n\nSorted Data :");

for (i = 0; i < MAX_SIZE; i++) {

printf("\t%d", arr_sort[i]);

}}
void heap_adjust(int n, int i) {
void heap_sort() {
int large = i, left = 2 * i + 1, right = 2 * i + 2;
for (int i = MAX_SIZE / 2 - 1; i >= 0; i--)

heap_adjust(MAX_SIZE, i); if (left < n && arr_sort[left] > arr_sort[large])

for (int i = MAX_SIZE - 1; i >= 0; i--) { large = left;

if (right < n && arr_sort[right] > arr_sort[large])

large = right;
t = arr_sort[0];
if (large != i) {
arr_sort[0] = arr_sort[i];

arr_sort[i] = t;
t = arr_sort[i];
heap_adjust(i, 0);
arr_sort[i] = arr_sort[large];

arr_sort[large] = t;

heap_adjust(n, large);

}}
TRAVERSAL IN INFIX PREFIX AND POSTFIX OUTPUT

#include <stdio.h>

#include <stdlib.h>

struct node

int data;

struct node* left;

struct node* right;

};

struct node* newNode(int data)

struct node* node = (struct node*)

malloc(sizeof(struct node));

node->data = data;

node->left = NULL;

node->right = NULL;

return(node);

void printPostorder(struct node* node)

if (node == NULL)

return;

printPostorder(node->left);
printPostorder(node->right);

printf("%d ", node->data);

void printInorder(struct node* node)

if (node == NULL)

return;

printInorder(node->left);

printf("%d ", node->data);

printInorder(node->right); printf("\n\nInorder arrangement \n\n");


} printInorder(root);

printf("\n\nPreorder arrangement \n\n");


void printPreorder(struct node* node) printPreorder(root);
{ printf("\n\nPostorder arrangement \n\n");
if (node == NULL) printPostorder(root);
return;

printf("%d ", node->data); getchar();


printPreorder(node->left); return 0;}
printPreorder(node->right);

int main()

struct node *root = newNode(200);

root->left = newNode(400);

root->right = newNode(600);

root->left->left = newNode(800);

root->left->right = newNode(1000);

You might also like