Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
1
173050031-183050016-183050011-git
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
KSHITIJ SINGHA
173050031-183050016-183050011-git
Commits
40544606
Commit
40544606
authored
Sep 23, 2018
by
meethkr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
change implementation to merge-sort
parent
b1e0aaa8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
69 additions
and
33 deletions
+69
-33
Makefile
Makefile
+13
-0
main.cpp
main.cpp
+5
-15
sorting.cpp
sorting.cpp
+50
-16
sorting.h
sorting.h
+1
-2
No files found.
Makefile
0 → 100644
View file @
40544606
CC
=
g++
all
:
main.o sorting.o
g++ main.o sorting.o
-o
main
main.o
:
main.cpp sorting.h
g++
-I
.
-c
main.cpp
sorting.o
:
sorting.cpp sorting.h
g++
-I
.
-c
sorting.cpp
clean
:
rm
-rf
*
.o
main.cpp
View file @
40544606
...
...
@@ -3,34 +3,24 @@
#include "sorting.h"
using
namespace
std
;
void
bubbleSort
(
vector
<
int
>&
a
);
void
printVector
(
vector
<
int
>
a
);
vector
<
int
>
sort_custom
(
vector
<
int
>
);
int
main
(
int
argc
,
char
const
*
argv
[])
{
vector
<
int
>
a
;
int
num
=
0
;
while
(
num
!=
-
1
)
{
std
::
cin
>>
num
;
if
(
num
!=
-
1
)
//add elements to the vector container
a
.
push_back
(
num
);
}
//printVector(a);
bubbleSort
(
a
);
printVector
(
a
);
}
void
printVector
(
vector
<
int
>
a
)
{
for
(
int
i
=
0
;
i
<
a
.
size
();
i
++
)
a
=
sort_custom
(
a
);
for
(
int
i
=
0
;
i
<
a
.
size
();
i
++
)
{
cout
<<
a
[
i
]
<<
" "
;
}
}
sorting.cpp
View file @
40544606
#include <iostream>
#include <vector>
using
namespace
std
;
#include <vector>
v
oid
bubbleSort
(
vector
<
int
>&
a
)
v
ector
<
int
>
merge
(
vector
<
int
>
left
,
vector
<
int
>
right
)
{
bool
swapp
=
true
;
while
(
swapp
){
swapp
=
false
;
for
(
size_t
i
=
0
;
i
<
a
.
size
()
-
1
;
i
++
)
{
if
(
a
[
i
]
>
a
[
i
+
1
]
){
a
[
i
]
+=
a
[
i
+
1
];
a
[
i
+
1
]
=
a
[
i
]
-
a
[
i
+
1
];
a
[
i
]
-=
a
[
i
+
1
];
swapp
=
true
;
}
}
}
// return a;
vector
<
int
>
result
;
while
((
int
)
left
.
size
()
>
0
||
(
int
)
right
.
size
()
>
0
)
{
if
((
int
)
left
.
size
()
>
0
&&
(
int
)
right
.
size
()
>
0
)
{
if
((
int
)
left
.
front
()
<=
(
int
)
right
.
front
())
{
result
.
push_back
((
int
)
left
.
front
());
left
.
erase
(
left
.
begin
());
}
else
{
result
.
push_back
((
int
)
right
.
front
());
right
.
erase
(
right
.
begin
());
}
}
else
if
((
int
)
left
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
(
int
)
left
.
size
();
i
++
)
result
.
push_back
(
left
[
i
]);
break
;
}
else
if
((
int
)
right
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
(
int
)
right
.
size
();
i
++
)
result
.
push_back
(
right
[
i
]);
break
;
}
}
return
result
;
}
vector
<
int
>
sort_custom
(
vector
<
int
>
m
)
{
if
(
m
.
size
()
<=
1
)
return
m
;
vector
<
int
>
left
,
right
,
result
;
int
middle
=
((
int
)
m
.
size
()
+
1
)
/
2
;
for
(
int
i
=
0
;
i
<
middle
;
i
++
)
{
left
.
push_back
(
m
[
i
]);
}
for
(
int
i
=
middle
;
i
<
(
int
)
m
.
size
();
i
++
)
{
right
.
push_back
(
m
[
i
]);
}
left
=
sort_custom
(
left
);
right
=
sort_custom
(
right
);
result
=
merge
(
left
,
right
);
return
result
;
}
sorting.h
View file @
40544606
using
namespace
std
;
void
bubbleSort
(
vector
<
int
>&
a
);
void
printVector
(
vector
<
int
>
a
);
vector
<
int
>
sort_custom
(
vector
<
int
>
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment