在数据结构与算法上看到的排序代码,求大神解释。
程序代码:
void Direct_Insert_sort(DataType R[],int n){ for(i=2;i<=n;++i){ if(R[i].key<R[i-1].key){ R[0]=R[i]; for(j=i-1;R[0].key<R[j].key;j--){ R[j+1]=R[j]; } R[j+1]=R[0]; } } }
我敲了一遍,又加了个主函数,可是始终都无法排列正确。
求大神:
1.补个主函数
2.然后来个正解。
3.如果能对这个函数解释一下,那就更好了!
4.还有 R[]必须是一个结构体吗?