对下列关键字序列(15,4,38,51,9,17,80,2)进行直接插入排序?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/22 17:38:37
对下列关键字序列(15,4,38,51,9,17,80,2)进行直接插入排序?
要用C语言代码的
给的分不多 请帮个忙啦~
void InsertSort(S_TBL &p)
{
for(i=2;ilength;i++)
if(p->elem[i].key < p->elem[i-1].key)
{ p->elem[0].key=p->elem[i].key;
for(j=i-1;p->elem[0].key < p->elem[j].key;j--)
p->elem[j+1].key=p->elem[j].key;
p->elem[j+1].key=p->elem[0].key;
}
}
谁会的请调试一下这程序
好象不能运行
要用C语言代码的
给的分不多 请帮个忙啦~
void InsertSort(S_TBL &p)
{
for(i=2;ilength;i++)
if(p->elem[i].key < p->elem[i-1].key)
{ p->elem[0].key=p->elem[i].key;
for(j=i-1;p->elem[0].key < p->elem[j].key;j--)
p->elem[j+1].key=p->elem[j].key;
p->elem[j+1].key=p->elem[0].key;
}
}
谁会的请调试一下这程序
好象不能运行
#include
int main()
{
int a[] = {15,4,38,51,9,17,80,2};
for(int i = 1; i < 8; ++i)
{
int key = a[i];
int j = i - 1;
for(; j >= 0 && key < a[j]; --j)
a[j+1] = a[j];
a[j+1] = key;
}
for(int i = 0; i < 8; ++i)
printf("%d ",a[i]);
}
int main()
{
int a[] = {15,4,38,51,9,17,80,2};
for(int i = 1; i < 8; ++i)
{
int key = a[i];
int j = i - 1;
for(; j >= 0 && key < a[j]; --j)
a[j+1] = a[j];
a[j+1] = key;
}
for(int i = 0; i < 8; ++i)
printf("%d ",a[i]);
}
对下列关键字序列(15,4,38,51,9,17,80,2)进行直接插入排序?
假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序
用简单插入排序法,对关键字值序列:9,2,20,45,3,18按从小到大的顺序进行排列,试打印出每趟排序的结果.
一、实验目的:掌握常用的查找与排序算法.二、实验内容 1、用简单插入排序法,对关键字值序列为:9,2,
快速排序的问题对下列关键字序列用快速排序的方法进行排序时,速度最快的的情形是()A{21,25,5,17,9,23,30
已知序列(35,78,12,26,90,41,66,58),请写出对该序列采用直接插入排序进行升序排序的前四趟结果
若对关键字序列(20,2,56,48,26,57,12,73,21,24,80)进行一趟增量为3的希尔排序,则得到的结果
用直接插入排序法对:7,1,3,12,8,4,9,10进行从小到大排序时,第四步得到的一组数为:______.
对元素序列如何进行堆排序
给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是?
采用快速排序算法,对关键字序列(28,56,78,60,12,25)按从小到大次序排序
已知序列(35.78.12.26.90.41.66.58)请写出对该序列采用直接插入排列进行升序排列的前四趟结果