• C# 插入排序(数据结构与算法)


    1 using System;
     2
     using System.Collections.Generic;
     3
     using System.Text;
     4
     
     5 namespace BubbleSort
     6
     {
     7
         class Program
     8
         {
     9
             static void Main(string[] args)
    10
             {
    11
                 TestArray nums = new TestArray(10);
    12
                 #region  初始化数组
    13             Random rnd = new Random(100);
    14
                 for (int num = 0; num < 10; num++)
    15
                 {
    16
                     nums.Insert(rnd.Next(0,100));
    17
                 }
    18
                 #endregion
    19             Console.WriteLine("Before Sorting: ");
    20
                 nums.DisplayElements();
    21
                 Console.WriteLine("Durring Sorting: ");
    22
                 nums.InsertionSort();
    23
                 Console.WriteLine("After Sorting: ");
    24
                 nums.DisplayElements();
    25
                 Console.ReadLine();
    26
             }
    27
         }
    28
     }
    29
     public class TestArray
    30
     {
    31
         private int[] arr;
    32
         private int upper;
    33
         private int numElements;
    34
         public TestArray(int size)
    35
         {
    36
             arr = new int[size];
    37
             upper = size - 1;
    38
             numElements = 0;
    39
         }
    40
         public void Insert(int item)
    41
         {
    42
             arr[numElements] = item;
    43
             numElements++;
    44
         }
    45
         public void DisplayElements()
    46
         {
    47
             for (int num = 0; num <= upper; num++)
    48
             {
    49
                 Console.Write(arr[num]+" ");
    50
             }
    51
             Console.WriteLine();
    52
         }
    53
         public void Clear()
    54
         {
    55
             for (int num = 0; num <= upper; num++)
    56
             {
    57
                 arr[num] = 0;
    58
             }
    59
             numElements = 0;
    60
         }
    61
         //插入排序算法
    62     public void InsertionSort()
    63
         {
    64
             int inner, temp;
    65
             for(int outer=1;outer<=upper;outer++)
    66
             {
    67
                 inner=outer;
    68
                 temp=arr[outer];
    69
                 while(inner>0 && arr[inner-1]>=temp)
    70
                 {
    71
                     arr[inner]=arr[inner-1];
    72
                     inner-=1;
    73
                 }
    74
                 arr[inner]=temp;
    75
                 this.DisplayElements();
    76
             }
    77
         }
    78
     }

  • 相关阅读:
    opencv7-ml之KNN
    opencv7-ml之统计模型
    计算机视觉-sift(2)代码理解
    计算机视觉-sift(1)原理
    PRML2-概率分布
    如何高效的通过BP算法来训练CNN
    CPP2-基础部分(1)
    PRML5-神经网络(2)
    《机器学习系统设计》(2)
    《机器学习系统设计》(1)
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3570104.html
Copyright © 2020-2023  润新知