数据结构-数组

任务

输入N个整数,存入数组,实现以下函数:

  1. 实现数组内容原地逆置;
  2. 找出数组中的最大元素与第一个元素交换;
  3. 输出数组元素的值
  4. 编写一个主程序,测试以上3个函数。

代码实现

#include<stdio.h>

void swap(int array[], int indexF, int indexS){
	// func: 交换int数组的元素 
	// :param array: 给定数组
	// :param indexF: 交换索引1
	// :param indexS: 交换索引2
	// return: 无 
	 
	int tp;
	tp = array[indexF];
	array[indexF] = array[indexS];
	array[indexS] = tp;
}

void reverse(int array[], int len){
        // func: 反转int数组的元素 
	// :param array: 给定数组
	// :param len: 数组长度 
	// return: 无 
	
	if(len<=1){
		return;
	}
	
	int i, tp;
	
	for(i=0;i<=len/2-1;i++){
		swap(array, i, len-1-i);
	}
}

void exchangeMax2F(int array[], int len){
    // func: 交换int数组的第一个的元素和最大值的位置 
    // :param array: 给定数组
    // :param len: 数组长度 
    // return: 无 
	
    if(len<=1){
		return;
	}
	
	int MAX_index=0, i, tp;
	for(i=1;i<len;i++){
		if(array[i]>=array[MAX_index]){
			MAX_index = i;
		}
	}
	
	swap(array, 0, MAX_index);
}

void printArray(int array[], int len){
        // func: 打印int数组的元素 
	// :param array: 给定数组
	// :param len: 数组长度 
	// return: 无 
	
	int i;
	printf("array is: \n");
	for(i=0;i<len;i++){
		printf("%d ", array[i]);
	}
	printf("\n");
}

posted @ 2021-04-25 18:38  漫漫长夜何时休  阅读(39)  评论(0编辑  收藏  举报