forked from bashbers/csharp-algorithms-hacktoberfest2018
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinsertion_sort.cs
More file actions
68 lines (40 loc) · 1.23 KB
/
insertion_sort.cs
File metadata and controls
68 lines (40 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
using System.Collections.Generic;
using System.Linq;
using csharp_algorithms;
namespace bubblesort
{
public class InsertionSort
{
private readonly IEnumerable<Node> _list;
public BubbleSort(IEnumerable<Node> list)
{
this._list = list;
}
private void Swap(Node left, Node right)
{
int originalLeft = left.Number;
left.Number = right.Number;
right.Number = originalLeft;
}
public IEnumerable<Node> Sort()
{
for (int outer = 0; outer < _list.Count() -1; outer++)
{
int inner = outer + 1 ;
Node current = _list.ElementAt(outer);
Node next = _list.ElementAt(inner);
Node next_01 = _list.ElementAt(inner -1 );
if( current.Number > next.Number)
{
while(inner -1 )
{
if( next_01.Number > next.Number)
{
swap(next_01,next);
}
}
}
}
return _list;
}
}