表格归1算法
发布时间: 2025-05-22 15:43:51
Ⅰ 【数据结构·C语言】请高手帮忙检查一个关于【链表的归并】算法是否正确
for(p=&(A.elem[A.length-1]);p>=&(A.elem[i]);p--) *(p+1)=p; 最后的p前面少一个星号,应该改为for(p=&(A.elem[A.length-1]);p>=&(A.elem[i]);p--)*(p+1)=*p;
A.elem[i]=B.elem[k];之后,由于B的元素插在了A的i位置,所以,这之后i应该自加1
for(p=&(A.elem[i+1]);p<=&(A.elem[A.length-1]);p++)*(p-1)=*p;这里是要覆盖i+1位置的元素,而根据你自己写的初始条件,p一开始就已经指向i+1位置,因此需要修改,同时伴随修改结束条件,最终修改为for(p=&(A.elem[i+1]);p<&(A.elem[A.length-1]);p++)*p=*(p+1);
其他的都还好。
PS,如果想程序运行简单一点,建议你每归并一个B的元素到A就查找一遍A中的元素,但是程序就会麻烦一点,还有,对A的重复元素的自检,可以考虑把if写为while,因为考虑到又可以能连着三个以上的元素相等。
希望采纳,期待对你有帮助,欢迎追问^_^
热点内容