寻找数组中第二大或第二小的数值
生活随笔
收集整理的這篇文章主要介紹了
寻找数组中第二大或第二小的数值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從一個給定的、無序的數組中,找出第二大或者第二小的數值。
#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; }
總結
以上是生活随笔為你收集整理的寻找数组中第二大或第二小的数值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构之查找二叉树
- 下一篇: 摘柿子