黑马程序员技术交流社区

标题: 一维数组的翻转 [打印本页]

作者: qq6937523    时间: 2016-4-6 23:40
标题: 一维数组的翻转
将一维数组前后翻转的代码


  1. #include <stdio.h>

  2. int main()
  3. {
  4.     //定义一个整型数组
  5.     /*中括号中的长度可以不用定义,后面变量的个数可以随便调,奇数个偶数个通用*/
  6.     int num[]={1,2,3,4,5,6,5,2};
  7.     //计算数组长度
  8.     int len = sizeof(num)/sizeof(num[0]);
  9.     //遍历循环   条件是i < 数组长度的一半
  10.     for(int i=0;i<len/2;i++)
  11.     {
  12.         /*完成翻转    第一个与倒数第一个值交换
  13.                     第二个与倒数第二个值交换
  14.                     第三个与倒数第三个值交换
  15.                     以此类推
  16.          */
  17.         int temp = num[i];
  18.         num[i]=num[len-1-i];
  19.         num[len-1-i] = temp;
  20.     }
  21.     //输出验证
  22.     for (int i= 0; i <len; i++)
  23.     {
  24.         printf("%d ",num[i]);
  25.     }
  26.     return 0;
  27. }
复制代码



也可以使用一个临时数组从 原数组末尾到第一位一次赋值   得到的数组 就是翻转后的  然后再正序赋值回原数组
作者: 缘之有缘    时间: 2016-4-7 18:52
学习了。              
作者: 又欠又欠    时间: 2016-4-7 20:00
谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2