Number of Elements
[Range: 10-100]
[Range: 10-100]
void cocktailSort(int array[], int n){
bool swapped = true;
int start = 0;
int end = n - 1;
int temp;
while (swapped){
swapped = false;
for (int i = start; i < end; i++){
if (array[i] > array[i + 1]){
temp = array[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swapped = true;
}
}
if (!swapped) break;
swapped = false;
end = end - 1;
for (int i = end - 1; i >= start; i--){
if (a[i] > a[i + 1]){
temp = array[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swapped = true;
}
}
start = start + 1;
}
}
def cocktailSort(array):
n = len(array)
swapped = True
start = 0
end = n - 1;
while (swapped):
swapped = False
for i in range (start, end):
if (array[i] > array[i + 1]):
array[i], array[i + 1] = array[i + 1], array[i]
swapped = True
if (!swapped):
break
swapped = False
end = end - 1
for i in range (end - 1, start - 1, -1):
if (array[i] > array[i + 1]):
array[i], array[i + 1] = array[i + 1], array[i]
swapped = True
start = start + 1
function cocktailSort(array){
let swapped = true;
let start = 0;
let end = array.length;
let temp;
while (swapped) {
swapped = false;
for (let i = start; i < end - 1; i++){
if (array[i] > array[i +1 ]){
temp = a[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swapped = true;
}
}
if (!swapped){
break;
}
swapped = false;
end--;
for (let i = end - 1; i >= start; i--){
if (array[i] > array[i +1 ]){
temp = a[i + 1];
array[i + 1] = array[i];
array[i] = temp;
swapped = true;
}
}
start++;
}
}
The Cocktail sorting method is a variant of the Bubble Sort. The difference between the two is that the Cocktail sort traverses the input array in ascending and descending order repeatedly, while a Bubble sort only traverses the array in ascending order.
The Cocktail sorting method has a time complexity of: O(N2)