-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
136 lines (119 loc) · 3.03 KB
/
Program.cs
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
public class LinkedList
{
Node head;
public class Node
{
public int data;
public Node next;
public Node(int d)
{
data = d;
next = null;
}
}
public void InsertFront(int d)
{
Node node = new Node(d);
node.next = head;
head = node;
}
public void InsertRear(int d)
{
Node node = new Node(d);
Node n = head;
while(n.next!=null)
n=n.next;
n.next = node;
}
public void InsertAtPosition(int d,int position)
{
Node node = new Node(d);
Node n = head;
if(position<1)
{
System.Console.WriteLine("Position cannot be less than 1");
}
else if(position == 1)
{
node.next = head;
head = node;
}
else
{
for(int i=1; i< position-1; i++)
{
if(n!=null)
n=n.next;
}
node.next = n.next;
n.next = node;
}
}
public void DeleteAtFront()
{
Node n = head;
if(n!=null)
head=n.next;
}
public void DeleteAtRear()
{
Node n = head;
while(n.next.next != null)
{
n=n.next;
}
n.next = null;
}
public void DeleteAtPosition(int position)
{
Node n = head;
if(position < 1)
System.Console.WriteLine("Position cannot be less than 1");
else if(position == 1 && n!=null)
head = n.next;
else if(position > 1)
{
for(int i=2 ; i < position; i++)
{
if(n!=null && n.next.next != null)
{
n=n.next;
}
}
n.next = n.next.next;
}
}
public void Print()
{
Node n= head;
while(n!=null)
{
System.Console.WriteLine(n.data);
n=n.next;
}
}
public static void Main(string []args)
{
LinkedList list = new LinkedList();
list.head = new Node(1);
Node second = new Node(2);
Node third = new Node(3);
list.head.next = second;
second.next = third;
list.InsertFront(0);
list.InsertRear(4);
list.InsertAtPosition(7,6);
list.Print();
System.Console.WriteLine("List after Delete Operation:");
list.DeleteAtFront();
list.DeleteAtRear();
list.DeleteAtPosition(6);
list.Print();
int []arr = new int[] {1,2,4,5,6,10,12,20};
int []a = new int[] {10,1,0,6,20,7};
int key = 6;
System.Console.WriteLine($"Element {key} found at position : {BinarySearch.Search(arr,key)}");
System.Console.WriteLine("Sorted array: Selection Sort");
SelectionSort.Sort(a);
}
}