寻找数组中第二大或第二小的数值
生活随笔
收集整理的这篇文章主要介绍了
寻找数组中第二大或第二小的数值
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
从一个给定的、无序的数组中,找出第二大或者第二小的数值。
#include <stdio.h>int FindSecondBiggest(int *v, int len) {if (v == NULL || len < 2) {return 0xfffffff;}int i, max = v[0], second = v[1];if (max < second) {max = v[1];second = v[0];}for (i = 2; i < len; ++ i) {if (v[i] > max) {second = max;max = v[i]; } else if (v[i] > second) {second = v[i];}}return second; }int FindSecondLeast(int *v, int len) {if (v == NULL || len < 2) {return 0xffffffff;}int i, min = v[0], second = v[1];if (min > second) {min = v[1];second = v[0];}for (i = 2; i < len; ++ i) {if (v[i] < min) {second = min;min = v[i];} else if (v[i] < second) {second = v[i];}}return second; }int main() {int v[] = {1,2,3};int len = sizeof(v) / sizeof(v[0]);printf("SecondBiggest = %d\n", FindSecondBiggest(v, len));printf("SecondLeast = %d\n", FindSecondLeast(v, len));return 0; }
总结
以上是生活随笔为你收集整理的寻找数组中第二大或第二小的数值的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 数据结构之查找二叉树
- 下一篇: 摘柿子