问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一、实验目的: 掌握常用的查找与排序算法。 二、实验内容 1、用简单插入排序法,对关键字值序列为:9,2,

发布网友 发布时间:2022-05-15 04:41

我来回答

2个回答

热心网友 时间:2023-10-09 09:56

第一题:
#include <stdio.h>
#define MAX 100
typedef int datatype;

typedef struct
{
datatype data;
}record;

typedef struct
{
record r[MAX+1];
int length;
}table;

void creat(table *tab)
{
printf("输入需要排列的数字个数:最大100\n");
scanf("%d",&tab->length);
for(int i=1;i<=tab->length;i++)
{ printf("请输入第%d个数据:",i);
scanf("%d",&tab->r[i]);
}
}

void print(table *tab)
{
for(int i=1;i<=tab->length;i++)
{
printf("%4d",tab->r[i]);
} printf("\n");
}

void insertsort(table *tab)
{
int i,j;
printf("原始数据为: ");
print(tab);
for(i=2;i<=tab->length;i++)
{
j=i-1;
tab->r[0].data=tab->r[i].data;

while(tab->r[0].data<tab->r[j].data)
{
tab->r[j+1].data=tab->r[j].data;
j--;

}
tab->r[j+1].data=tab->r[0].data;
printf("第%d次为 :",i-1);
print(tab);
}
}

void main()
{
table tab;
creat(&tab);
insertsort(&tab);
}

第二题:
#include <stdio.h>
#define MAX 100
typedef int datatype;

typedef struct
{
datatype data;
}record;

typedef struct
{
record r[MAX+1];
int length;
}table;

void creat(table *tab)
{
printf("输入需要插入的数字个数:最大100");
scanf("%d",&tab->length);
for(int i=1;i<=tab->length;i++)
{ printf("请输入第%d个数据:",i);
scanf("%d",&tab->r[i]);
}
}

void print(table *tab)
{
for(int i=1;i<=tab->length;i++)
{
printf("%4d",tab->r[i]);
} printf("\n");
}

void find(table *tab)
{ int find;
int i,j,left,right,mid;
printf("输入你要查找的数:");
scanf("%d",&find);
for(i=2;i<=tab->length;i++)
{
left=1;
right=i-1;
tab->r[0].data=find;
while(left<=right)
{
mid=(left+right)/2;
if(tab->r[0].data<tab->r[mid].data)
right=mid-1;
else left=mid+1;
}
if(tab->r[left].data==find)printf("\n你要查找的数在第%d个",left);
}
}

void main()
{
table tab;
creat(&tab);
print(&tab);
find(&tab);
}

热心网友 时间:2023-10-09 09:56

第一题:
#include <stdio.h>
#define MAX 100
typedef int datatype;

typedef struct
{
datatype data;
}record;

typedef struct
{
record r[MAX+1];
int length;
}table;

void creat(table *tab)
{
printf("输入需要排列的数字个数:最大100\n");
scanf("%d",&tab->length);
for(int i=1;i<=tab->length;i++)
{ printf("请输入第%d个数据:",i);
scanf("%d",&tab->r[i]);
}
}

void print(table *tab)
{
for(int i=1;i<=tab->length;i++)
{
printf("%4d",tab->r[i]);
} printf("\n");
}

void insertsort(table *tab)
{
int i,j;
printf("原始数据为: ");
print(tab);
for(i=2;i<=tab->length;i++)
{
j=i-1;
tab->r[0].data=tab->r[i].data;

while(tab->r[0].data<tab->r[j].data)
{
tab->r[j+1].data=tab->r[j].data;
j--;

}
tab->r[j+1].data=tab->r[0].data;
printf("第%d次为 :",i-1);
print(tab);
}
}

void main()
{
table tab;
creat(&tab);
insertsort(&tab);
}

第二题:
#include <stdio.h>
#define MAX 100
typedef int datatype;

typedef struct
{
datatype data;
}record;

typedef struct
{
record r[MAX+1];
int length;
}table;

void creat(table *tab)
{
printf("输入需要插入的数字个数:最大100");
scanf("%d",&tab->length);
for(int i=1;i<=tab->length;i++)
{ printf("请输入第%d个数据:",i);
scanf("%d",&tab->r[i]);
}
}

void print(table *tab)
{
for(int i=1;i<=tab->length;i++)
{
printf("%4d",tab->r[i]);
} printf("\n");
}

void find(table *tab)
{ int find;
int i,j,left,right,mid;
printf("输入你要查找的数:");
scanf("%d",&find);
for(i=2;i<=tab->length;i++)
{
left=1;
right=i-1;
tab->r[0].data=find;
while(left<=right)
{
mid=(left+right)/2;
if(tab->r[0].data<tab->r[mid].data)
right=mid-1;
else left=mid+1;
}
if(tab->r[left].data==find)printf("\n你要查找的数在第%d个",left);
}
}

void main()
{
table tab;
creat(&tab);
print(&tab);
find(&tab);
v
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
灵显的意思是什么 安国药王庙结构 显灵宫建筑构造 煤炭储量储量计算 大容量塑料水杯可以用开水烫吗 大容量塑料水杯能不能用开水烫 辽宁朝阳一日游去哪里比较好 ...电脑打开后出现一个对话框影响正常开机不知道怎样解决 哪些可以关掉,这些英文是什么意思? 企业应对网络舆情攻略:10个危机公关应对策略,有效解决 兔宝宝石氏名字寓意好字 女生发25是什么意思 查找算法和排序算法的有关问题。。。 自选一种排序或者查找算法,用c germany 嘛意思 关于排序和查找的算法 产品上标有germany是什么意思中文? 外国人都是通过什么平台购买中国设备 为什么中文称德国为德意志Deutsch,而英语中则称为日耳曼Germany呢? germany,是什么意思 我现在国外,想买点中国的特产和衣服,请问有什么好的途径? e660cpu可以用win10 小陶瓷罐里面要装的是药膏状物体,求问怎么密封?要批量生产的。 赛格大厦晃动原因是什么? 赛格大厦发生剧烈晃动,到底是什么原因导致这种情况的发生? 赛格大厦整体结构安全性达标,那么到底是何原因导致大厦摇晃? 为什么武夷山的大红袍很贵?在哪里可以买到正宗的大红袍? 深圳华强北赛格大楼发生晃动引发关注,造成晃动的原因究竟是什么? 买大红袍的时候看产地应该看哪里 才是正宗的 宪法民法典相关内容 作为当代的大学生应该如何学好民法典践行法治理念? C 排序问题 男生对我说25什么意思 快乐星球第二部50集每集的名字 在word or excel 软件中实现 英文金额大小写转换(数字金额转化为英文大写金额) nodejs 同步 平板怎么玩红警 Windows10解锁密码查看预留问题 孩子拿家长手机充值钱能退吗 被网贷起诉档案被市里调走 孩子在游泳班受伤培训班应该负什么责任 网贷逾期会调取档案吗 丁姓男孩,五行缺土,含同字的好名字,拜求 听说15年的国家公*行测部分有两套题,是专业课的那种题目类型吗? 阿拉斯加雪橇犬英文名 杨姓女孩农历2012年1月30出生的起个三个字的名字,五行缺土,名字中须有一字有土部 15年四川省下年度公务员招考考试试题有哪些题型呢? windows10怎么解锁电脑密码 听说15年的国家公务员考试行测部分有两套题,是考专业课吗? 辽宁2015公务员考试笔试内容 死飞把子的种类,求图,还有就是大多数人用的是哪种把