Skip to content

Commit 564ddfc

Browse files
committed
11/16/2016
Implemented case 3
1 parent 058daaf commit 564ddfc

4 files changed

Lines changed: 142 additions & 1 deletion

File tree

Header.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ class Sorting
5050

5151
//general stuff
5252
int random(int n);
53-
53+
void randomize(int arr[], int n);//shuffles a list of numbers
54+
void swap(int *a, int *b);//swaps two numbers used for case 3
5455

5556

5657
//insertion sort stuff

case3.cpp

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#include "Header.h"
2+
3+
4+
void Sorting::case3()
5+
{
6+
7+
int size;
8+
9+
10+
11+
size = 100;
12+
for (int i = 0; i < size; i++)
13+
{
14+
a100[i] = i;
15+
16+
17+
}
18+
19+
randomize(a100, size);
20+
//////////////////////////////////////////////////////////////////////////////////////
21+
size = 200;
22+
for (int i = 0; i < size; i++)
23+
{
24+
a200[i] = i;
25+
26+
27+
}
28+
randomize(a200, size);
29+
30+
////////////////////////////////////////////////////////////////////////////////////
31+
size = 300;
32+
for (int i = 0; i < size; i++)
33+
{
34+
a300[i] = i;
35+
36+
37+
}
38+
randomize(a300, size);
39+
/////////////////////////////////////////////////////////////////////////////
40+
41+
size = 400;
42+
for (int i = 0; i < size; i++)
43+
{
44+
a400[i] = i;
45+
46+
47+
}
48+
randomize(a400, size);
49+
////////////////////////////////////////////////////////////////////////////////
50+
size = 500;
51+
for (int i = 0; i < size; i++)
52+
{
53+
a500[i] = i;
54+
55+
56+
}
57+
58+
randomize(a500, size);
59+
///////////////////////////////////////////////////////////////////////////////////////////////////
60+
61+
62+
63+
size = 1000;
64+
for (int i = 0; i < size; i++)
65+
{
66+
a1000[i] = i;
67+
68+
69+
}
70+
71+
randomize(a1000, size);
72+
//////////////////////////////////////////////////////////////////////////////
73+
size = 2000;
74+
for (int i = 0; i < size; i++)
75+
{
76+
a2000[i] = i;
77+
78+
79+
}
80+
randomize(a2000, size);
81+
//////////////////////////////////////////////////////////////////////////////////
82+
size = 4000;
83+
for (int i = 0; i < size; i++)
84+
{
85+
a4000[i] = i;
86+
87+
88+
}
89+
90+
randomize(a4000, size);
91+
//////////////////////////////////////////////////////////////////////////////////
92+
size = 10000;
93+
for (int i = 0; i < size; i++)
94+
{
95+
a10000[i] = i;
96+
97+
98+
}
99+
randomize(a10000, size);
100+
////////////////////////////////////////////////////////////////////////////////
101+
102+
103+
104+
105+
106+

random.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include "Header.h"
2+
3+
4+
5+
void Sorting::randomize(int arr[], int n)//shuffles a list of numbers
6+
{
7+
8+
9+
10+
// Use a different seed value so that we don't get same
11+
// result each time we run this program
12+
srand(time(NULL));
13+
14+
// Start from the last element and swap one by one. We don't
15+
// need to run for the first element that's why i > 0
16+
for (int i = n - 1; i > 0; i--)
17+
{
18+
// Pick a random index from 0 to i
19+
int j = rand() % (i + 1);
20+
21+
// Swap arr[i] with the element at random index
22+
swap(&arr[i], &arr[j]);
23+
}
24+
25+
26+
}

swap.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#include "Header.h"
2+
3+
void Sorting:: swap(int *a, int *b)
4+
{
5+
int temp = *a;
6+
*a = *b;
7+
*b = temp;
8+
}

0 commit comments

Comments
 (0)