annotate main.c @ 10:f4e0c266321a

bubble sort
author Dennis C. M. <dennis@denniscm.com>
date Fri, 23 Jun 2023 20:24:37 +0100
parents b7da0083b706
children aaecc9b7ca9c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
1 #include <stdio.h>
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
2 #include <stdlib.h>
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
3 #include <GL/glut.h>
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
4 #include <math.h>
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
5 #include <time.h>
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7
6
40a8bdbe2005 Refactor to array of structures
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
8 #define WINDOW_HEIGHT 1080
40a8bdbe2005 Refactor to array of structures
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
9 #define WINDOW_WIDTH 1920
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
10 #define OFFSET 150
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
11 #define RECT_WIDTH 5
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
12 #define SPACE 1
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
13
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
14
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
15 // Globals
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
16 char* algos[] = {"Bubble sort", "Selection sort", "Insertion sort", "Quick sort"};
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
17 int selected_algo = 0;
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
18 int n_algos = sizeof(algos) / sizeof(algos[0]);
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
19
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
20 int* arr;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
21 int arr_size;
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
24 // Algos
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
25 void bubble_sort() {
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
26 for (int step = 0; step < arr_size - 1; step++) {
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
27
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
28 for (int i = 0; i < arr_size - step - 1; i++) {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
29 int current = arr[i];
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
30 int next = arr[i + 1];
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
31
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
32 if (current > next) {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
33 arr[i + 1] = current;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
34 arr[i] = next;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
35 }
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
36 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
37 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
38 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
39
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
40
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
41 void create_array() {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
42 arr_size = floor((WINDOW_WIDTH - RECT_WIDTH) / (RECT_WIDTH + SPACE)) + 1;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
43 arr = (int*)malloc(arr_size * sizeof(int));
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
44
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
45 // srand(time(NULL));
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
46
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
47 int min = OFFSET;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
48 int max = WINDOW_HEIGHT - OFFSET;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
49
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
50 for (int i = 0; i < arr_size; i++) {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
51 arr[i] = rand() % ((max - min) + 1) + min;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
52 }
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
53 }
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
54
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
55
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
56 void print_array() {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
57 for (int i = 0; i < arr_size; i++) {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
58 printf("%d ", arr[i]);
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
59 }
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
60 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
61
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
62
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
63 void algo_selector(int direction) {
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
64 int selection = selected_algo + direction;
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
65 int lower = 0;
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
66 int upper = (sizeof(algos) / sizeof(algos[0])) - 1;
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
67
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
68 if (selection >= lower && selection <= upper) {
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
69 selected_algo = selection;
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
70 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
71 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
72
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
73 // GL and GLUT
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
74 void setup() {
2
ea3c427d922d draw a weird filled rectangle
Dennis C. M. <dennis@denniscm.com>
parents: 0
diff changeset
75
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
76 // Set background dark
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
77 glClearColor(0.0, 0.0, 0.0, 1.0);
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
78
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
79 // Set point color and size to 1 pixel
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
80 glColor3f(0.0, 1.0, 0.0);
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
81 glPointSize(5.0);
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
82
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
83 // Matrix projection and reset with identity
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
84 glMatrixMode(GL_PROJECTION);
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
85 glLoadIdentity();
2
ea3c427d922d draw a weird filled rectangle
Dennis C. M. <dennis@denniscm.com>
parents: 0
diff changeset
86
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
87 /*
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
88 * Creates projection matrix
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
89 * x increases from left to right (0 to WINDOW_WIDTH)
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
90 * y increases from bottom to top (0 to WINDOW_HEIGHT)
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
91 */
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
92 gluOrtho2D(0, WINDOW_WIDTH, 0, WINDOW_HEIGHT);
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
93
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
94 }
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
95
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
96
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
97 void render_text(int x, int y, char* text) {
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
98 glRasterPos2f(x, y);
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
99
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
100 for (const char *c = text; *c; ++c) {
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
101 glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, *c);
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
102 }
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
103 }
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
104
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
105
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
106 void display() {
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
107 glClear(GL_COLOR_BUFFER_BIT);
3
e4003f606e07 draw multiple rectangles with loop
Dennis C. M. <dennis@denniscm.com>
parents: 2
diff changeset
108 glBegin(GL_QUADS);
e4003f606e07 draw multiple rectangles with loop
Dennis C. M. <dennis@denniscm.com>
parents: 2
diff changeset
109
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
110 int x = 0;
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
111 for (int i = 0; i < arr_size; i++) {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
112
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
113 // Bottom left
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
114 glVertex2f(x, OFFSET);
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
115
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
116 // Top left
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
117 glVertex2f(x, arr[i]);
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
118
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
119 // Top right
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
120 glVertex2f(x + RECT_WIDTH, arr[i]);
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
121
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
122 // Bottom right
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
123 glVertex2f(x + RECT_WIDTH, OFFSET);
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
124
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
125 x += RECT_WIDTH + SPACE;
3
e4003f606e07 draw multiple rectangles with loop
Dennis C. M. <dennis@denniscm.com>
parents: 2
diff changeset
126 }
e4003f606e07 draw multiple rectangles with loop
Dennis C. M. <dennis@denniscm.com>
parents: 2
diff changeset
127
e4003f606e07 draw multiple rectangles with loop
Dennis C. M. <dennis@denniscm.com>
parents: 2
diff changeset
128 glEnd();
6
40a8bdbe2005 Refactor to array of structures
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
129
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
130 // Render text
4
035d3880da04 render text with number of elements on screen
Dennis C. M. <dennis@denniscm.com>
parents: 3
diff changeset
131 char text[256];
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
132
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
133 sprintf(text, "Algorithm: %s", algos[selected_algo]);
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
134 render_text(20, OFFSET - 50, text);
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
135
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
136 sprintf(text, "Number of elements: %i", arr_size);
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
137 render_text(20, OFFSET - 75, text);
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
138
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
139 render_text(WINDOW_WIDTH - 500, OFFSET - 50, "Press 'a' or 's' to select an algorithm");
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
140 render_text(WINDOW_WIDTH - 500, OFFSET - 75, "Press 'enter' to run the algorithm");
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
141 render_text(WINDOW_WIDTH - 500, OFFSET - 100, "Press 'r' to reset array");
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
142
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
143 glutSwapBuffers();
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
144 glFlush();
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
145 }
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
146
6
40a8bdbe2005 Refactor to array of structures
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
147
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
148 void idle() {
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
149 glutPostRedisplay();
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
150 }
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
151
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
152
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
153 void keyboard(unsigned char key, int x, int y) {
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
154
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
155 // s
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
156 if (key == 115) {
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
157 algo_selector(1);
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
158 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
159
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
160 // r
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
161 if (key == 114) {
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
162 create_array();
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
163 }
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
164
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
165 // a
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
166 if (key == 97) {
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
167 algo_selector(-1);
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
168 }
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
169
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
170 // enter
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
171 if (key == 13) {
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
172 printf("Before sorting: ");
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
173 print_array();
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
174 printf("\n\n");
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
175
9
b7da0083b706 removing struct?
Dennis C. M. <dennis@denniscm.com>
parents: 8
diff changeset
176 bubble_sort();
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
177
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
178 printf("After sorting: ");
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
179 print_array();
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
180 }
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
181 }
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
182
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
183
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
184 int main(int argc, char** argv) {
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
185 create_array();
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
186
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
187 glutInit(&argc, argv);
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
188 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
6
40a8bdbe2005 Refactor to array of structures
Dennis C. M. <dennis@denniscm.com>
parents: 5
diff changeset
189 glutInitWindowSize(WINDOW_WIDTH, WINDOW_HEIGHT);
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
190 glutCreateWindow("OpenGL Window");
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
191 setup();
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
192 glutDisplayFunc(display);
8
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
193 glutKeyboardFunc(keyboard);
f7af7255705e text flickering fixed
Dennis C. M. <dennis@denniscm.com>
parents: 7
diff changeset
194 glutIdleFunc(idle);
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
195 glutMainLoop();
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
196
10
f4e0c266321a bubble sort
Dennis C. M. <dennis@denniscm.com>
parents: 9
diff changeset
197 free(arr);
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
198
0
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
199 return 0;
6882194679b5 draw a point
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
200 }
7
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
201
f159eec07daf refactor
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
202