C语言 逆序一个数组的代码实现

原创 2015年07月08日 21:38:13
//这是一道经典的面试题
#include <stdio.h>
/**
*  逆序数组用for
*
*  @param a   数组名
*  @param len 数组长度
*/
void nixuArr(int a[],int len){
    //定义一个指数组指针
    int *p=a;
    //定义下标并且实现转换
    for (int i=0,j=len-1; i<j; i++,j--) {
        int temp;
        temp =*(p+i);
        *(p+i)=*(p+j);
        *(p+j)=temp;
    }
}


/**
*  逆序数组用wile
*
*  @param a   数组名
*  @param len 数组长度
*/
void nixuArr2(int a[],int len){
    //定义一个数组指针
    int *p=a;
    //定义下标
    int j=len-1;
    int i=0;
    while (i<j) {
        //实现下标转换
        int temp;
        temp = *(p+i);
        *(p+i)=*(p+j);
        *(p+j)=temp;
        i++,j--;
    }
}

int main(int argc, const char * argv[]) {
    // 输入一个数组
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    //带入函数
    nixuArr(arr,10);
    //遍历数组并且打印
    for (int i=0; i<10; i++) {
        printf("%d\t",arr);
    }
        return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

FFT之数组逆序C语言实现

前言:FFT算法是DFT的快速算法实现,FFT算法中有一个关键步骤就是将原始序列逆序。比如对于个点的FFT变换,首先对序列号进行编码。比如M=4阶,共N=16个点,编码为0000,0001,0010,...

求旋转数组的最小数字算法的解析以及完整c语言代码实现

题目:输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素,例如{1,2,3,4,5}数组的一个旋转数组{3,4,5,1,2},其最小的元素为1,   解析加完整可以与运行代码

第22节 C语言结构体之结构体嵌套、结构体指针与结构体数组的代码实现

结构体 #include //第一步 struct Student { //学号 int no; //姓名 char name[20]; //性别 char sex[10]; //成...

利用递归函数逆序一个栈(C语言实现)

利用递归函数将一个栈逆序,不能申请新的数据结构。 参考了常用解法,即两个递归函数嵌套使用,第一个递归函数用于获取栈的栈底元素,另一个递归函数用于逆序这个栈。 代码如下:int getBotto...

图论:一个叫做SPFA的东西(C语言代码实现)

spfa.png (23.94 KB, 下载次数: 2) 下载附件  保存到相册 2013-2-20 20:58 上传 输入样例: 5 7 1 2 2 1 5 10 2 3 3 2 ...
  • ahalei
  • ahalei
  • 2014-03-05 11:34
  • 2187

C语言实验——数组逆序

C语言实验——数组逆序 Time Limit: 1000MS Memory limit: 65536K 题目描述 有n个整数,使其最后m个数变成最前面的m个数,其...

C语言:判断一个字符串是否为回问字符串(回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,比如”abcba","cddc"就是回文字符串

C语言:判断一个字符串是否为回问字符串(回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,比如”abcba","cddc"就是回文字符串

C语言实现整数逆序输出

  • 2008-12-16 12:16
  • 150KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)