1808035990 发表于 2024-6-7 22:22:09

求助

void InsertSort(Edge r[],int n)
{
        int i,j;
        for(i=2;i<n;i++)
        {
                if(r.w<r.w)
                {
                        r=r;
                        j=i-1;
                        while(r.w<r.w&&j>=1)
                        {
                                r=r;
                                j=j-1;
                        }
                        r=r;       
                }
        }
}

void Kruskal(MGraph g)
{
        int i,j,u1,v1,sn1,sn2,k;
        int vset;
        Edge E;
        k=0;
        printf("克鲁斯卡尔算法:\n");
        for(i=0;i<g.n;i++)
                for(j=0;j<g.n;j++)
                        if(g.edges!=0&&g.edges!=INF)
                        {
                                E.u=i;
                                E.v=j;
                                E.w=g.edges;
                                k++;
                        }
        InsertSort(E,g.e);
        for(i=0;i<g.n;i++)
                vset=i;
        k=1;
        j=0;
        while(k<g.n)
        {
                u1=E.u;
                v1=E.v;
                sn1=vset;
                sn2=vset;
                if(sn1!=sn2)
                {
                        printf("边(%d,%d)权为:%d\n",u1,v1,E.w);
                        k++;
                        for(i=0;i<g.n;i++)
                                if(vset==sn2)
                                        vset=sn1;
                }
                j++;
        }
}
怎么修改

FishC 发表于 2024-6-7 22:22:24

你好!看到你的代码,我注意到你在InsertSort函数中只提供了给定的参数类型,而没有说明Edge是什么类型,所以我无法具体了解你的需求。不过,我可以给你一些一般的插入排序的实现方法。

插入排序是一种简单直观的排序算法,它通过将未排序的元素逐个插入到已排序的部分来进行排序。下面是一个示例代码:

++
void InsertSort(int arr[], int n)
{
    for (int i = 1; i < n; i++)
    {
      int key = arr;
      int j = i - 1;
      
      while (j >= 0 && arr > key)
      {
            arr = arr;
            j--;
      }
      
      arr = key;
    }
}

在这个示例中,我们假设你要对一个整型数组进行排序。函数的参数包括一个整型数组arr和数组的长度n。它使用一个for循环遍历未排序部分的元素,从第二个元素开始,将其与已排序的部分比较,并将其插入到正确的位置。

希望这个示例代码能对你有所帮助!如果你有其他问题,我会尽力帮助你。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 求助