Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void reverse(int* arr, int n);
- void swap(int* ptr1, int* ptr2);
- void rev_rec(int* arr, int n);
- void main()
- {
- int array[] = { 1,2,3,4,5 };
- int * arr;
- arr = array;
- int i;
- printf("\nStart of program\n\n");
- printf("Array before program:\n");
- for (i = 0; i < sizeof(array) / sizeof(int); i++)
- printf("%d ", array[i]);
- //reverse( arr, sizeof(array) / sizeof(int));
- rev_rec(arr, sizeof(array) / sizeof(int));
- printf("\n\nArray after program:\n");
- for (i = 0; i < sizeof(array) / sizeof(int); i++)
- printf("%d ", array[i]);
- }
- void reverse(int* arr, int n)
- {
- int temp, i;
- for (i = 0; i < n / 2; i++)
- swap(&arr[i], &arr[n - 1 - i]);
- }
- void swap(int* ptr1, int* ptr2)
- {
- int temp;
- temp = *ptr1;
- *ptr1 = *ptr2;
- *ptr2 = temp;
- }
- void rev_rec(int* arr, int n)
- {
- if (n > 1)
- {
- swap(arr, arr + n - 1);
- rev_rec(arr + 1, n - 2);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment