一些数组简单操作

#include<stdio.h>
void swap(int *a, int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}
int sum(int *arr, int length){
    return length ? arr[0] + sum(arr+1, length-1):0;
}
int max(int *arr, int length){
    if(length == 1)
        return arr[0];
    return max(arr+1, length-1) > arr[0] ? max(arr+1, length-1) : arr[0];
}
int min(int *arr, int length){
    if(length == 1)
        return arr[0];
    return min(arr+1, length-1) < arr[0] ? min(arr+1, length-1) : arr[0];
}
void reverse(int *arr, int length){
    if(length > 1){
        swap(arr,arr+length-1);
        reverse(arr+1,length-2);
    }
}
void print(int *arr, int length){
    if(length > 0){
        printf("%d\t",arr[0]);
        print(arr+1,length-1);
    }else
        printf("\n");
}
int minColumn(int row,int arr[][row],int length,int co){
    if(length == 1){
        return arr[0][co]; 
    }
    if(minColumn(row,arr+1,length-1,co) < arr[0][co]){
        return minColumn(row,arr+1,length-1,co);
    }else{
        return arr[0][co];
    }
}


int main(){
    int arr[5] = {1,3,6,4,2};
    printf("sum = %d\n", sum(arr, sizeof(arr)/sizeof(int)));
    printf("max = %d\n", max(arr, sizeof(arr)/sizeof(int)));
    printf("min = %d\n", min(arr, sizeof(arr)/sizeof(int)));
    reverse(arr,sizeof(arr)/sizeof(int));
    print(arr, sizeof(arr)/sizeof(int));
    return 0;
}

一些数组简单操作,有喜欢的可以去看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,460评论 25 709
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,862评论 0 4
  • 过年收获了各种各样的祝福,我心里,却只希望自己能好好睡觉,睡好觉,其他的,都没那么重要。 为什么有的人...
    beina阅读 1,841评论 0 0
  • 从小到大,也看过不少书。多少有些阅读的心得。本文想先谈谈自己读书的方式及利弊。再讨论下怎样有效阅读,不浪费时间。 ...
    安妮在简书阅读 3,813评论 0 2
  • 前不久看了一篇文章,大体内容是说趁彼此深爱的时候结婚吧,不要等着生活把激情都磨平了,对彼此再没有了新鲜感的时候让新...
    伊雪112阅读 1,202评论 0 0

友情链接更多精彩内容