2.png

    1. /*
    2. 实现一个空间复杂度为O(1)的顺序表逆置算法。
    3. 分析:从第一个元素开始遍历到中间元素,使用中间变量对a[i]与a[n-i+1]进行调换,即可完成
    4. */
    5. #include <stdio.h>
    6. void revert(int *arr,int len) {
    7. int tmp;
    8. for (int i = 0; i < len/2;i++) {
    9. tmp = *(arr + i);
    10. *(arr + i) = *(arr + len - i - 1);
    11. *(arr + len - i - 1) = tmp;
    12. }
    13. }
    14. int main() {
    15. int arr[] = {1,2,3,4,5,6,7};//这里的数组也可以手动赋值
    16. int len = sizeof(arr)/4;
    17. revert(arr,len);
    18. for (int i = 0; i < len;i++) printf("%d ",*(arr+i));
    19. return 0;
    20. }