正在加载图片...
【算法103】 void InsertSort(s TBL * /对顺序表作折半插入排序* for(=2; i<=s->length; i++) s->elem[0=s>elem[i;保存待插入元素* Dw=i; high=i-1;/设置初始区间 while(lo<hgh)/该循环语句完成确定插入位置 1 mid=(low+high)/2 if(s->elem[0. key>s->elem mid]. key) low=mid+1;插入位置在高半区中 else high=mid-1;/插入位置在低半区中* 3/ while x/ for(=i-1;j>=high+1;j-)/high+1为插入位置* s->elem[+1}=s> elem li;/后移元素,留出插入空位* A> elem high+1|=s>eml0;/将元素插入 3/*fo 山0 3/*Insertsort*/【算法10.3】 void InsertSort(S_TBL *s) { /* 对顺序表s作折半插入排序*/ for(i=2;i<=s->length;i++) { s->elem[0]=s->elem[i]; /* 保存待插入元素*/ low=i;high=i-1; /* 设置初始区间*/ while(low<=high) /* 该循环语句完成确定插入位置*/ { mid=(low+high)/2; if(s->elem[0].key>s->elem[mid].key) low=mid+1; /* 插入位置在高半区中*/ else high=mid-1; /* 插入位置在低半区中*/ }/* while */ for(j=i-1;j>=high+1;j--) /* high+1为插入位置*/ s->elem[j+1]=s->elem[j]; /* 后移元素,留出插入空位*/ s->elem[high+1]=s->elem[0]; /* 将元素插入 */ }/* for */ }/* InsertSort */
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有