最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#不重復輸出一個數組中所有元素的方法

 更新時間:2015年08月14日 09:50:15   作者:北風其涼  
這篇文章主要介紹了C#不重復輸出一個數組中所有元素的方法,涉及C#針對數組的遍歷、校驗及排序等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了C#不重復輸出一個數組中所有元素的方法。分享給大家供大家參考。具體如下:

1.算法描述

0)輸入合法性校驗
1)建立臨時數組:與原數組元素一樣。該步驟的目的是防止傳入的原數組被破壞
2)對臨時數組進行排序
3)統(tǒng)計臨時數組共有多少個不同的數字。該步驟的目的是為了確定結果集數組的長度
4)建立結果集數組,只存放不同的數字
5)返回結果集

2.函數代碼

/// <summary>
/// 建立包含原數組內所有元素且元素間互不重復的新數組
/// </summary>
/// <param name="array">原數組</param>
/// <param name="isAsc">true:升序排列/false:降序排列</param>
/// <returns>新數組</returns>
private static int[] DifferentElements(int[] array, bool isAsc = true)
{
 //0.輸入合法性校驗
 if (array == null || array.Length == 0)
 {
  return new int[] { };
 }
 //1.臨時數組:與原數組元素一樣
 int[] tempArray = new int[array.Length];
 for (int i = 0; i < tempArray.Length; i++)
 {
  tempArray[i] = array[i];
 }
 //2.對臨時數組進行排序
 int temp;
 for (int i = 0; i < tempArray.Length; i++)
 {
  for (int j = i; j < tempArray.Length; j++)
  {
   if (isAsc)
   {
    if (tempArray[i] > tempArray[j])
    {
     temp = tempArray[i];
     tempArray[i] = tempArray[j];
     tempArray[j] = temp;
    }
   }
   else
   {
    if (tempArray[i] < tempArray[j])
    {
     temp = tempArray[i];
     tempArray[i] = tempArray[j];
     tempArray[j] = temp;
    }
   }
  }
 }
 //3.統(tǒng)計臨時數組共有多少個不同的數字
 int counter = 1;
 for (int i = 1; i < tempArray.Length; i++)
 {
  if (tempArray[i] != tempArray[i - 1])
  {
   counter++;
  }
 }
 //4.建立結果集數組
 int[] result = new int[counter];
 int count = 0;
 result[count] = tempArray[0];
 for (int i = 1; i < tempArray.Length; i++)
 {
  if (tempArray[i] != tempArray[i - 1])
  {
   count++;
   result[count] = tempArray[i];
  }
 }
 //5.返回結果集
 return result;
}

3.Main函數調用

static void Main(string[] args)
{
 int[] array = new int[]
 {
  1, 9, 1, 9, 7, 2, 2, 5, 3, 4,
  5, 6, 3, 3, 6, 2, 6, 7, 8, 0
 };
 //數組:包含原數組內全部元素且不重復(升序排列)
 int[] result1 = DifferentElements(array);
 foreach (int i in result1)
 {
  Console.Write(i.ToString() + "\t");
 }
 //數組:包含原數組內全部元素且不重復(降序排列)
 int[] result2 = DifferentElements(array,false);
 foreach (int i in result2)
 {
  Console.Write(i.ToString() + "\t");
 }
 Console.ReadLine();
}

4.程序輸出示例

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

相關文章

  • winform導出dataviewgrid數據為excel的方法

    winform導出dataviewgrid數據為excel的方法

    這篇文章主要介紹了winform導出dataviewgrid數據為excel的方法,可實現將dataViewGrid視圖中的數據導出為excel格式的功能,非常具有實用價值,需要的朋友可以參考下
    2015-01-01
  • C#?CM框架實現多頁面管理的實例代碼

    C#?CM框架實現多頁面管理的實例代碼

    這篇文章主要介紹了C#?CM框架下一行代碼實現多頁面管理,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C#正則檢測字符串是否字母數字混編的方法

    C#正則檢測字符串是否字母數字混編的方法

    這篇文章主要介紹了C#正則檢測字符串是否字母數字混編的方法,涉及C#正則判定字符串的使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#實現WinForm禁止最大化、最小化、雙擊標題欄、雙擊圖標等操作的方法

    C#實現WinForm禁止最大化、最小化、雙擊標題欄、雙擊圖標等操作的方法

    這篇文章主要介紹了C#實現WinForm禁止最大化、最小化、雙擊標題欄、雙擊圖標等操作的方法,涉及C#使用WinForm針對窗口操作的各種常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#中foreach實現原理詳解

    C#中foreach實現原理詳解

    這篇文章主要為大家詳細介紹了C#中foreach實現原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Unity實現汽車前后輪倒車軌跡計算

    Unity實現汽車前后輪倒車軌跡計算

    這篇文章主要為大家詳細介紹了Unity實現汽車前后輪倒車軌跡計算,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C# Onnx實現特征匹配DeDoDe檢測

    C# Onnx實現特征匹配DeDoDe檢測

    這篇文章主要為大家詳細介紹了C# Onnx如何實現特征匹配DeDoDe檢測,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11
  • C#實現電腦麥克風錄音

    C#實現電腦麥克風錄音

    這篇文章主要為大家詳細介紹了C#實現電腦麥克風錄音,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#將布爾類型轉換成字節(jié)數組的方法

    C#將布爾類型轉換成字節(jié)數組的方法

    這篇文章主要介紹了C#將布爾類型轉換成字節(jié)數組的方法,涉及C#中字符串函數的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C#找出字符串中第一個字母并大寫的方法

    C#找出字符串中第一個字母并大寫的方法

    這篇文章主要介紹了C#找出字符串中第一個字母并大寫的方法,通過C#面向對象的方式定義了類的成員函數實現字符串轉換的功能,需要的朋友可以參考下
    2016-02-02

最新評論

抚顺县| 信丰县| 呼和浩特市| 文山县| 腾冲县| 茂名市| 临安市| 潜江市| 柳林县| 阳谷县| 雷波县| 石柱| 资兴市| 五家渠市| 海盐县| 陆川县| 泽库县| 寿阳县| 彩票| 定兴县| 龙井市| 穆棱市| 即墨市| 延津县| 开封市| 昌乐县| 灵石县| 北辰区| 林芝县| 岳阳市| 清水河县| 合作市| 黔西县| 信阳市| 天水市| 绥江县| 石河子市| 南靖县| 贵南县| 浮山县| 浠水县|