首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言實例練習

C語言練習實例40:數組逆序輸出(首尾交換法)

     編輯:C 語言實例練習

C語言練習實例40:數組逆序輸出(首尾交換法)

本實例將長度為 10 的數組原地逆序:首尾元素兩兩交換,直到中間相遇。

源代碼

// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
#define N 10

int main() {
    int a[N] = {0,1,2,3,4,5,6,7,8,9};
    int i, t;
    printf("原始數組是:\n");
    for (i = 0; i < N; i++) printf("%d ", a[i]);
    for (i = 0; i < N/2; i++) {
        t = a[i];
        a[i] = a[N-1-i];
        a[N-1-i] = t;
    }
    printf("\n排序後的數組:\n");
    for (i = 0; i < N; i++) printf("%d ", a[i]);
    printf("\n");
    return 0;
}

運行結果

原始數組是:
0 1 2 3 4 5 6 7 8 9
排序後的數組:
9 8 7 6 5 4 3 2 1 0

複雜度

時間 O(n),空間 O(1),原地算法經典實現。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved