Upload files to 'Exercise 4 - BST Sort (Week 5)'
This commit is contained in:
parent
cab8a393f7
commit
0e9442b99d
BIN
Exercise 4 - BST Sort (Week 5)/Ex4.pdf
Normal file
BIN
Exercise 4 - BST Sort (Week 5)/Ex4.pdf
Normal file
Binary file not shown.
50
Exercise 4 - BST Sort (Week 5)/Ex4.txt
Normal file
50
Exercise 4 - BST Sort (Week 5)/Ex4.txt
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
405
|
||||||
|
130
|
||||||
|
484
|
||||||
|
446
|
||||||
|
336
|
||||||
|
377
|
||||||
|
658
|
||||||
|
853
|
||||||
|
678
|
||||||
|
436
|
||||||
|
709
|
||||||
|
996
|
||||||
|
885
|
||||||
|
758
|
||||||
|
896
|
||||||
|
947
|
||||||
|
255
|
||||||
|
737
|
||||||
|
489
|
||||||
|
430
|
||||||
|
886
|
||||||
|
327
|
||||||
|
877
|
||||||
|
860
|
||||||
|
924
|
||||||
|
8
|
||||||
|
348
|
||||||
|
412
|
||||||
|
158
|
||||||
|
932
|
||||||
|
935
|
||||||
|
229
|
||||||
|
619
|
||||||
|
590
|
||||||
|
373
|
||||||
|
483
|
||||||
|
543
|
||||||
|
888
|
||||||
|
566
|
||||||
|
229
|
||||||
|
959
|
||||||
|
337
|
||||||
|
399
|
||||||
|
724
|
||||||
|
380
|
||||||
|
494
|
||||||
|
477
|
||||||
|
61
|
||||||
|
396
|
||||||
|
642
|
BIN
Exercise 4 - BST Sort (Week 5)/Ex4_Prof_Solution.pdf
Normal file
BIN
Exercise 4 - BST Sort (Week 5)/Ex4_Prof_Solution.pdf
Normal file
Binary file not shown.
87
Exercise 4 - BST Sort (Week 5)/ex4.c
Normal file
87
Exercise 4 - BST Sort (Week 5)/ex4.c
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
/* License: AGPLv3 or later. https://www.gnu.org/licenses/licenses.html
|
||||||
|
*
|
||||||
|
* Exercise 4 - BST Sort (Week 5)
|
||||||
|
* Name: Manish
|
||||||
|
* Student Login: *****
|
||||||
|
*
|
||||||
|
* Compile as:
|
||||||
|
* $ gcc -std=c11 -Wall -o ex4 ex4.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int value;
|
||||||
|
int left;
|
||||||
|
int right;
|
||||||
|
} node;
|
||||||
|
|
||||||
|
int insert(int value, int node);
|
||||||
|
void print();
|
||||||
|
|
||||||
|
node array[100];
|
||||||
|
int root = -1;
|
||||||
|
int size = 0;
|
||||||
|
int printed = 0;
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
printf("Enter file name: ");
|
||||||
|
char filename[257];
|
||||||
|
// Assuming filename/file path won't be longer than 256 characters
|
||||||
|
scanf("%256s", filename);
|
||||||
|
|
||||||
|
FILE* file = fopen(filename, "r");
|
||||||
|
if (!file)
|
||||||
|
{
|
||||||
|
perror(filename);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
int n;
|
||||||
|
while (fscanf(file, " %d ", &n) != EOF && size < 100)
|
||||||
|
{
|
||||||
|
root = insert(n, root);
|
||||||
|
}
|
||||||
|
|
||||||
|
print(root);
|
||||||
|
|
||||||
|
/* print() will print newline after every 10 numbers printed.
|
||||||
|
* This will print newline if needed in the end.
|
||||||
|
*/
|
||||||
|
if (printed % 10 != 0)
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
fclose(file);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int insert(int value, int node)
|
||||||
|
{
|
||||||
|
if (node < 0)
|
||||||
|
{
|
||||||
|
array[size].value = value;
|
||||||
|
array[size].left = -1;
|
||||||
|
array[size].right = -1;
|
||||||
|
return size++;
|
||||||
|
}
|
||||||
|
if (value <= array[node].value)
|
||||||
|
array[node].left = insert(value, array[node].left);
|
||||||
|
else
|
||||||
|
array[node].right = insert(value, array[node].right);
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
void print(int node)
|
||||||
|
{
|
||||||
|
if (node < 0)
|
||||||
|
return;
|
||||||
|
print(array[node].left);
|
||||||
|
printf("% 5d", array[node].value);
|
||||||
|
if (++printed % 10 == 0)
|
||||||
|
printf("\n");
|
||||||
|
print(array[node].right);
|
||||||
|
}
|
2
Exercise 4 - BST Sort (Week 5)/makefile
Normal file
2
Exercise 4 - BST Sort (Week 5)/makefile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
ex4: ex4.c
|
||||||
|
gcc -std=c11 -Wall ex4.c -o ex4
|
BIN
Exercise 4 - BST Sort (Week 5)/my_output.png
Normal file
BIN
Exercise 4 - BST Sort (Week 5)/my_output.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 449 KiB |
Loading…
Reference in New Issue
Block a user