输入N个数组,求出其最大最小值及计算复杂度
来源:互联网 发布:热动力学分析软件 编辑:程序博客网 时间:2024/05/20 15:10
#include <stdlib.h>
int main()
{
int iter = 0;
int cnt = 0;
int N;
printf("Input the array length N: ");
scanf("%d", &N);
printf("Please input %d (int) number:\n ",N);
int *arr = (int *) malloc(N * sizeof(int));
for( int i = 0; i < N; i++)
scanf("%d", &arr[i]);
for(iter = 0; iter < N-1 ; iter += 2)
{
if(++cnt && arr[iter] > arr[iter + 1] )
{
int temp = arr[iter];
arr[iter] = arr[iter + 1];
arr[iter + 1] = temp;
}
}
int myMin = arr[0];
for(iter = 2; iter < N ; iter += 2)
{
if(++cnt && arr[iter] < myMin)
{
myMin = arr[iter];
}
}
int myMax = arr[1];
for(iter = 3; iter < N; iter += 2)
{
if(++cnt && arr[iter] > myMax)
{
myMax = arr[iter];
}
}
if(N % 2 != 0 && ++cnt && myMax < arr[N - 1]) myMax = arr[N - 1];
free(arr);
printf("min is %d\n", myMin);
printf("max is %d\n", myMax);printf("compare times is %d", cnt);// 3*N/2
return 0;
}
//不交换数组的方法
#include <stdio.h>
#include <stdlib.h>
int main()
{
int iter = 0;
int cnt = 0;
int N;
printf("Input the array length N: ");
scanf("%d", &N);
printf("Please input %d (int) number:\n ",N);
int *arr = (int *) malloc(N * sizeof(int));
for( int i = 0; i < N; i++)
scanf("%d", &arr[i]);
int myMin ,myMax;
myMin =myMax=arr[0];
for(iter = 0; iter < N-1 ; iter +=2)
{
if( ++cnt&&arr[iter]>arr[iter + 1])
{
if ( ++cnt&&arr[iter+1]< myMin)
myMin = arr[iter+1];
if(++cnt&&arr[iter ] >myMax)
myMax = arr[iter];
}else
{
if( ++cnt&&arr[iter]< myMin)
myMin = arr[iter];
if(++cnt&&arr[iter + 1] >myMax)
myMax = arr[iter+1];
}
}
if(N % 2 != 0 && ++cnt && myMax < arr[N - 1]) myMax = arr[N - 1];
free(arr);
printf("min is %d\n", myMin);
printf("max is %d\n", myMax);
printf("compare times is %d", cnt);
return 0;
}
- 输入N个数组,求出其最大最小值及计算复杂度
- <o(2n)最坏复杂度求数组的最大最小值
- 输入M个学生N门成绩,并求出其每个人的平均分
- node js 下查找数组最大最小值 时间复杂度 1.5N 思路来自编程之美
- 问题: 一个数组长度为n, 求出其最小的k个元素并从小到大输出
- 输入一位数组后得到其最小值
- 算法-子数组连续序列最大和其时间复杂度如何从O(n^3)到O(n)
- 编写Java程序,输入3个整数,并求出3个整数的最大值和最小值。
- 取一个集合的前n个最大或最小值
- 对输入的指定个数的整数,求出其中最大值和最小值。(数组实现)
- 给出四个整数,求出最大和最小值
- 以时间复杂度O(n)计算最大子序列和
- 算法导论学习笔记之五--同时得到最大和最小值复杂度3(n/2)
- Java 随机生成50个正整数,存放到数组,求出总和,平均值,最大值,最小值
- 查找数组最大最小值
- 数组求最大最小值
- 数组最大最小值
- 数组 取最大/最小值
- 【§炮炮兵杯xp主题(oo)】
- 简简单单----(五)jsp内置对象response
- 使用dao的简单步骤
- 单例模式(Singleton Pattern)
- 查找之静态查找
- 输入N个数组,求出其最大最小值及计算复杂度
- 关于从appstore上获取应用版本的问题
- oracle循环
- JDBC 连接 sqlserver数据库
- 四层板设计
- 被华为捉弄的面试经历
- C++ 深拷贝与浅拷贝
- HDOJ 4031 - Attack 区间更新点查询的树状数组+暴力...
- 模拟状态为inactive的日志损坏的恢复实验(完全恢复)