Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入排序c#_C#_Insertion Sort - Fatal编程技术网

插入排序c#

插入排序c#,c#,insertion-sort,C#,Insertion Sort,你们能帮我用C#进行基本的插入排序吗。我有一个数组中的姓名和居住城市列表,需要通过比较居住城市对该数组进行排序。列表必须按字母顺序排序。比较器已经设置好并开始工作了,我对插入排序器编程有点迷茫,因为这是我们第一次使用这种排序方法 以下是我迄今为止所尝试的: public void InsertionSort() { for(int i=0;i

你们能帮我用C#进行基本的插入排序吗。我有一个数组中的姓名和居住城市列表,需要通过比较居住城市对该数组进行排序。列表必须按字母顺序排序。比较器已经设置好并开始工作了,我对插入排序器编程有点迷茫,因为这是我们第一次使用这种排序方法

以下是我迄今为止所尝试的:

public void InsertionSort()
{
for(int i=0;ij;k--)
与会者[k]=与会者[k-1];
与会者[k+1]=临时工;
}
}
}
}
公共void InsertionSort()
{
for(int i=1;i0;j--)//从“i”开始向后迭代
{
学生电流=与会者[j-1];
学生tbs=与会者[j];/“tbs”=“待排序”
if(cur.CompareTo(tbs)<0)//通常,实现“CompareTo()”的类也实现“operator()”和“operator==()”,因此您可以只编写“cur'cur',它是已排序列表的一部分。我们不需要对特定的'tbs'进行进一步排序
}
}
}
请记住,此算法按降序对列表进行排序。

请像这样尝试

public void InsertionSort()
{
    for (int i = 0; i < Count; i++)
    {
        int j = i;
        While(j > 0)
        {
            Student cur = Attendees[j];
            Student sel = Attendees[j-1];
            if (cur.CompareTo(Sel) < 0)
            {
                Student temp = cur;
                cur = sel;
                sel = temp;
                j--
            }
            else
                break;
        }
    }
}
public void InsertionSort()
{
for(int i=0;i0)
{
学生电流=与会者[j];
学生选择=与会者[j-1];
如果(电流比(Sel)<0)
{
学生温度=电流;
cur=sel;
sel=温度;
j--
}
其他的
打破
}
}
}
int[]newarr={2,1,5,3,7,6};
INTA,b;
for(int i=1;i=0&&newarr[b]>a)
{
newarr[b+1]=newarr[b];
b=b-1;
}
newarr[b+1]=a;
}

步骤:1-编辑您的问题。2-发布一些尝试/代码。结果:获得更少的反对票+获得答案/建议。谷歌是你的朋友!这里有一个例子:public void InsertionSort(){for(int i=0;ij;k--)与会者[k]=与会者[k-1];与会者[k+1]=temp;只是想寻找一个开始的提示,或者如果我在正确的轨道上,上面的评论对一个新手来说是非常没有帮助的-只要回答他的问题,他给了你一个例子。呸!!虽然这段代码可能会解决问题,但一个好的答案也应该解释代码的作用以及它是如何帮助的。
public void InsertionSort()
{
    for (int i = 0; i < Count; i++)
    {
        int j = i;
        While(j > 0)
        {
            Student cur = Attendees[j];
            Student sel = Attendees[j-1];
            if (cur.CompareTo(Sel) < 0)
            {
                Student temp = cur;
                cur = sel;
                sel = temp;
                j--
            }
            else
                break;
        }
    }
}
int[] newarr = {2,1,5,3,7,6};
int a, b;
for (int i = 1; i < newarr.Length; i++)
{
    a = newarr[i];
    b = i - 1;
    while(b>=0 && newarr[b]>a)
    {
        newarr[b+1] = newarr[b];
        b=b-1;
    }
    newarr[b+1] = a;
}