插入排序代码不起作用

时间:2014-10-23 23:45:08

标签: c# sorting insertion-sort

以下是我为插入排序所做的方法:

private int i, j, temp;

public void InsertionSort(int[] a)
{
    for(i=0 ; i<a.Length-1 ; i++)
    {
        for(j=i+1 ; j<1 ; j--)
        {
            if(a[j-1]>a[j])
            {
                temp = a[j];
                a[j] = a[j - 1];
                a[j - 1] = temp;
            }
            else
            {
                break; 
            }
        }
    }

它没有对数组进行排序,当我进入代码时,我看到内部for循环中的代码没有运行,内部代码不断被超越。

例如,

将数组设为int[] arr = {7,2,3,6,} ;

1 个答案:

答案 0 :(得分:2)

在您的代码中,您有j=i+1 ; j < 1 . ...其中j< 1是您的条件......当j=i+1 i从零开始时,这永远不会为真....我认为你希望j>1处于你的状态