c#插入排序

using System;
class DataStructDemo
{
    
public static void insertSort(int[] arr)
    {
            
for (int i = 1; i < arr.length; i++)//从第二个元素开始
            {
               int temp 
= arr[i];
               int  j 
= i - 1;
                
while(arr[j] > temp)//从从当前元素往右边找插入点
                {
                    arr[j 
+ 1= arr[j];//后移
                    j--;
                    
if(j == -1)
                        
break;
                }
                arr[j 
+ 1= temp;//前面已经后移了,会留下一个空位置,现在就插入
            }
    }
    
public static output(int[] arr)
    {
        
for(int i = 0; i < arr.length;i++)
        {
            Console.Write(
"{0}\t",arr[i]);
        }
        Console.WriteLine();
    }
    
public static void Main()
    {
        
int[] arr = new int[]{34,2,45,67,89,90};
        Console.WriteLine(
"insert sort testing");
        output(arr);
        insertSort(arr);
        Console.WriteLine(
"insert sort OK");
        output(arr);
    }
}
posted @ 2008-05-14 19:07  debugzhu  阅读(1195)  评论(2编辑  收藏  举报