这个排序怎么排不了了,求解释
#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