当前位置:编程学习 > C#/ASP.NET >>

这个排序怎么排不了了,求解释

#include <iostream>
using namespace std;


typedef struct {
int length;
int *r;
int listsize;
}sqlist;

void initlist(sqlist &L)
{
L.r=new int [100];
L.length=0;
L.listsize=100;

}

void insertsort(sqlist &L)
{
int i;int j;
for(i=2;i<=L.length;++i)
if(L.r[i]<L.r[i-1]) {
L.r[0]=L.r[i];
int low=1;int high=i;int mid;
if(low<=high)
{
mid=(low+high)/2;
if(L.r[0]==L.r[mid]) {for(j=i-1;j>=low;--j) L.r[j+1]=L.r[j];L.r[j+1]=L.r[0];}
else
if(L.r[0]<L.r[mid]) high=mid-1;
else low=mid+1;

}
else {for(j=i-1;j>=mid;--j) L.r[j+1]=L.r[j];L.r[j]=L.r[0];}


}
}

void main()
{
int i=0;int f;;
sqlist L;
initlist(L);

cout<<"请输入数组长度"<<endl;
cin>>L.length;
char *r=new char[L.length+4];
cout<<"enter numbers"<<endl;
for(i=1;i<=L.length;i++)
cin>>L.r[i];
cout<<"结果是"<<endl;
insertsort(L);
for(int m=1;m<=L.length;m++)
cout<<L.r[m]<<"  ";
cin>>f;

} --------------------编程问答-------------------- 学会单步调试
--------------------编程问答-------------------- ++i还是i++,这个先搞清楚,插入排序网上很多代码,自己参考一下
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,