亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現求一組數據眾數的方法

2020-01-24 01:32:44
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現求一組數據眾數的方法。分享給大家供大家參考。具體如下:

1.算法描述

1)輸入合法性檢驗(輸入不能為空)
2)制作數組副本,后面的操作將不修改數組本身,只對副本進行操作
3)數組排序(把相等的數都湊到一“堆兒”)
4)統計不同的元素數(統計“堆兒”數,以確定步驟5中要使用的數組大?。?br />5)統計各個元素數量(統計每“堆兒”的大小,并存入數組)
6)按元素在原數組內數量降序排列,數量相等的元素則按大小升序排列
7)統計眾數數量(確定返回數組的大?。?,如果眾數數量多余給出閾值的數量,則認為這個數組內沒有眾數
8)生成返回眾數數組

注:本算法只是提供了一種思路,并不代表此類問題的最優解

2.使用到的結構和函數

/// <summary>/// 結構:用于統計每個數出現的次數/// </summary>struct Stats{  //數字,出現的次數  public double Number;  public int Count;  //構造函數  public Stats(double n, int c)   {     Number = n;    Count = c;  }}/// <summary>/// 計算數組的眾數/// </summary>/// <param name="array">數組</param>/// <param name="threshold">數量閾值,眾數數量若多于次數則認為沒有眾數</param>/// <returns></returns>private static double[] ModeOf(double[] array, int threshold = 5){  //數組排序-統計各元素數量-按各元素數量排序-再統計最多的元素  //1.輸入合法性檢驗  if (array == null || array.Length == 0 || threshold < 1)  {    return new double[] { };  }  //2.制作數組副本,后面的操作將不修改數組本身  double[] tempArray = new double[array.Length];  array.CopyTo(tempArray,0);  //3.數組排序  double temp;  for (int i = 0; i < tempArray.Length; i++)  {    for (int j = i; j < tempArray.Length; j++)    {      if (tempArray[i] < tempArray[j])      {        temp = tempArray[i];        tempArray[i] = tempArray[j];        tempArray[j] = temp;      }    }  }  //4.統計不同的元素數  int counter = 1;  for (int i = 1; i < tempArray.Length; i++)  {    if (tempArray[i] != tempArray[i - 1])    {      counter++;    }  }  //5.統計各個元素數量  int flag = 0;  Stats[] statsArray = new Stats[counter];  statsArray[flag].Number = tempArray[0];  statsArray[flag].Count = 1;  for (int i = 1; i < tempArray.Length; i++)  {    if (tempArray[i] == statsArray[flag].Number)    {      statsArray[flag].Count++;    }    else    {      flag++;      statsArray[flag].Number = tempArray[i];      statsArray[flag].Count = 1;    }  }  //6.按元素在原數組內數量(Count屬性)降序排列  // 數量相等的元素則按大小升序排列  for (int i = 0; i < statsArray.Length; i++)  {    for (int j = i; j < statsArray.Length; j++)    {      if (statsArray[i].Count < statsArray[j].Count ||        (statsArray[i].Count == statsArray[j].Count &&          statsArray[i].Number > statsArray[j].Number))      {        temp = statsArray[i].Number;        statsArray[i].Number = statsArray[j].Number;        statsArray[j].Number = temp;        temp = statsArray[i].Count;        statsArray[i].Count = statsArray[j].Count;        statsArray[j].Count = (int)temp;      }    }  }  //7.統計眾數數量  int count = 1;  if (statsArray.Length > threshold &&    statsArray[threshold].Count == statsArray[0].Count)  {    //眾數多余閾值數量,則認為沒有眾數    return new double[] { };  }  else  {    for (int i = 1; i < statsArray.Length && i < threshold; i++)    {      if (statsArray[i].Count == statsArray[i - 1].Count)      {        count++;      }      else break;    }  }  //8.生成返回眾數數組  double[] result = new double[count];  for (int i = 0; i < count; i++)  {    result[i] = statsArray[i].Number;  }  return result;}

3.Main函數調用

static void Main(string[] args){  //示例數組1  double[] arr1 = new double[]   {    3, 2, 7, 4, 8, 8, 5,    5, 6, 5, 4, 3, 4, 9,    1, 1, 1, 2, 2, 0, 6  };  double[] d1 = ModeOf(arr1);  if (d1.Length != 0)  {    Console.Write("數組 1 有 " + d1.Length + " 個眾數:");    for (int i = 0; i < d1.Length; i++)    {      Console.Write(d1[i] + " ");    }    Console.WriteLine();  }  else  {    Console.WriteLine("數組 1 沒有眾數");  }  //示例數組2  double[] arr2 = new double[]   {    1, 2, 3, 4, 5, 6  };  double[] d2 = ModeOf(arr2);  if (d2.Length != 0)  {    Console.Write("數組 2 有 " + d2.Length + " 個眾數:");    for (int i = 0; i < d2.Length; i++)    {      Console.Write(d2[i] + " ");    }    Console.WriteLine();  }  else  {    Console.WriteLine("數組 2 沒有眾數");  }  Console.ReadLine();}

4.運行示例

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性69xxxx肥| 欧美又大又粗又长| 国产精品成人一区二区三区吃奶| 这里只有精品在线播放| 91免费电影网站| 欧美成人午夜激情视频| 欧美日韩一二三四五区| 欧美日韩国产综合视频在线观看中文| 日韩小视频在线观看| 欧美电影院免费观看| 亚洲欧美资源在线| 青青草原成人在线视频| 日韩av电影免费观看高清| 在线观看日韩www视频免费| 日韩中文字幕在线观看| 亚洲a∨日韩av高清在线观看| 欧美在线视频免费| 久久在精品线影院精品国产| 永久免费毛片在线播放不卡| 国产精品久久久久久超碰| 久久久精品日本| 日韩精品久久久久久福利| 日韩免费观看网站| 亚洲第一区中文99精品| 久久免费视频观看| 亚洲白拍色综合图区| 国产人妖伪娘一区91| 日韩成人激情影院| 国产午夜精品视频免费不卡69堂| 欧美成人精品在线播放| 色妞色视频一区二区三区四区| 一区二区三区精品99久久| 欧美成人三级视频网站| 亚洲黄色片网站| 国产午夜精品美女视频明星a级| 精品国产一区av| 日韩精品视频中文在线观看| 成人欧美一区二区三区在线湿哒哒| 亚洲第一区在线观看| 777国产偷窥盗摄精品视频| 久久91精品国产| 久久久这里只有精品视频| 欧美日产国产成人免费图片| 中文字幕亚洲在线| 亚洲欧美日韩精品| 久久久国产在线视频| 欧美日韩国产综合视频在线观看中文| 欧洲一区二区视频| 国产精品美女www爽爽爽视频| 亚洲美女av在线| 国产日韩欧美夫妻视频在线观看| 日韩在线免费高清视频| 亚洲色图欧美制服丝袜另类第一页| 亚洲人高潮女人毛茸茸| 精品久久久久久亚洲国产300| 亚洲女人天堂色在线7777| 91免费电影网站| 国内精品久久久久久中文字幕| 国产在线观看一区二区三区| 欧美成人在线免费| 亚洲国产一区二区三区在线观看| 久久艹在线视频| 高清一区二区三区四区五区| 色偷偷88888欧美精品久久久| 亚洲成人网在线| 精品动漫一区二区三区| 国产日韩欧美中文在线播放| 欧美日韩国产一区二区三区| 一区二区在线免费视频| 亚洲欧美一区二区激情| 国产在线999| 亚洲性69xxxbbb| 欧美成人中文字幕在线| 国产精品视频公开费视频| 亚洲欧美日韩爽爽影院| 日韩av片免费在线观看| 日韩中文字幕免费| 久久99久久久久久久噜噜| 国产精品久久久av| 国模精品一区二区三区色天香| 国产精品久久久| 国产欧美婷婷中文| 国产视频精品久久久| 精品在线欧美视频| 91精品久久久久久| 久久夜色精品国产欧美乱| 亚洲女人天堂视频| 亚洲成人激情在线观看| 欧美精品在线极品| 91久久在线观看| 国产视频精品va久久久久久| 性色av一区二区三区| 国产精品一区二区三区在线播放| 久久97精品久久久久久久不卡| 91免费国产视频| 国产一区二中文字幕在线看| 欧美国产日韩一区二区在线观看| 欧美午夜www高清视频| 国产成人精品一区二区在线| 亚洲日韩欧美视频| 精品久久久久久久中文字幕| 中文国产成人精品久久一| 欧美高清不卡在线| 亚洲影视九九影院在线观看| 亚洲色图综合久久| 欧美成人精品一区二区| 亚洲另类欧美自拍| 国产精品欧美一区二区三区奶水| 国产视频久久久久| 亚洲国产精品久久久久| 国产成人精品av在线| 综合136福利视频在线| 91免费国产视频| 97视频免费在线观看| 国产欧美日韩高清| 精品成人国产在线观看男人呻吟| 亚洲一区二区三区四区视频| 亚洲综合中文字幕在线观看| 91精品国产综合久久香蕉| 欧洲永久精品大片ww免费漫画| 色中色综合影院手机版在线观看| 国产精品视频网| 日本久久久久久久久久久| 亚洲美女在线视频| 亚洲国产欧美精品| 欧美性猛交xxxx偷拍洗澡| 国产成人精品电影久久久| 国产91精品久久久久| 91久久久久久久久| 免费97视频在线精品国自产拍| 国产成人涩涩涩视频在线观看| 国产一区视频在线| 欧美精品videos另类日本| 亚洲激情久久久| 日韩专区中文字幕| 色妞色视频一区二区三区四区| 国产91精品黑色丝袜高跟鞋| 国产成人精品免高潮在线观看| 久久天堂av综合合色| 亚洲欧洲一区二区三区在线观看| 97国产suv精品一区二区62| 国产精品亚发布| 日韩精品高清在线| 国产精品一香蕉国产线看观看| 国产网站欧美日韩免费精品在线观看| 国内精品久久久久久| www国产91| 91精品国产免费久久久久久| 日韩av影视在线| 亚洲精选中文字幕| 国产日韩欧美另类| 欧洲美女7788成人免费视频| 国产欧美亚洲精品| 91精品国产91久久久久久吃药| 国产97在线亚洲| 久久伊人免费视频| 超碰精品一区二区三区乱码| 久久久久久国产精品美女| 欧美色videos| 日韩欧美中文字幕在线观看| 色综合久综合久久综合久鬼88| 精品国产乱码久久久久久虫虫漫画| 精品激情国产视频| 欧美亚洲成人精品|