#include void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void shakersort(int a[], int n) { int p, i; for (p = 1; p <= n / 2; p++) { for (i = p - 1; i < n - p; i++) if (a[i] > a[i+1]) swap(&a[i], &a[i + 1]); for (i = n - p - 1; i >= p; i--) if (a[i] < a[i-1]) swap(&a[i], &a[i - 1]); } } int main() { int arr[10] = {43, 432, 36, 5, 6, 57, 94, 63, 3, 44}; int i; shakersort(arr, 10); for (i = 0 ; i < 10; i++) printf("%d ", arr[i]); return 0; }