#include<stdlib.h>
#define MAX_SIZE 101
#define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t))
#define COMPARE(x,y) (((x) < (y))? -1:((x) == (y))?0:1)
void sort(int list[],int n);
int binsearch(int list[], int searchnum,int left, int right);
/**************************************************************
*Function Name:main
*Description :Test function sort and binsearch.
*Input :NULL.
*Output :NULL.
*Return :NULL
***************************************************************/
void main(void)
{
int i,n,searchnum,wjj;
int list[MAX_SIZE];
printf("Enter the number of numbers to generate: ");
scanf_s("%d",&n);
//检查输入n是否合法。
if(n<1 || n > MAX_SIZE)
{
fprintf(stderr,"Improper value of n\n");
exit(EXIT_FAILURE);
}
//为数组赋随机值,所有元素的值都在1000范围以内。
for(i=0;i<n;i++)
{
list[i] = rand()%1000;
printf("%d ",list[i]);
}
//排序操作
sort(list,n);
//打印排序后的数组
printf("\n Sorted array:\n");
for(i=0;i<n;i++)
printf("%d ",list[i]);
printf("\nEnter the num you want to search:");
scanf("%d",&searchnum);
wjj = binsearch(list, searchnum,0, n-1);
if(wjj!=-1)
{
printf("searchnum success!\n");
printf("The num you want to search is list[%d]",wjj);
}
else
printf("The num %d you want to search is not in the list.",searchnum);
printf("\n");
}
/**************************************************************
*Function Name:sort
*Description :From those integers that are currently unsorted,
* find the smallest and place it next in the sorted list.
* 在当前所有未排序的整数中,找出最小的一个,把它放在当前有序表的最后一个位置。
*Input :list address and the lengtn of list.
*Output :sorted list.
*Return :NULL
***************************************************************/
void sort(int list[],int n)
{
int i,j,min,temp;
for(i=0;i<n-1;i++)
{
min = i;
for(j=i+1;j<n;j++)
if(list[j]<list[min])
min = j;
SWAP(list[i],list[min],temp);
}
}
/**************************************************************
*Function Name:binsearchnum
*Description :find searchnum in list
*Input :list address , the num that you want to search
* and the scope (left and right)
*Output :NULL
*Return :find the searchnum return 0,else return -1.
***************************************************************/
int binsearch(int list[], int searchnum,int left, int right)
{
int middle;
while(left <= right)
{
middle = (left + right)/2 ;
switch(COMPARE(list[middle],searchnum))
{
case -1 :left = middle + 1;break;
case 0 :return middle;
case 1 :right = middle - 1;
default:printf("Impossible Thing!");
}
}
return -1;
}
相关推荐
python知网爬虫论文pdf下载+立即可用(动态爬虫)
python实现动态爬虫知网论文,搜索+自动翻页+下载 收集数据利器
C语言 选择排序法
从键盘上输入10个数,用选择排序法按照从小到大的顺序输出 首先,分析一下什么叫做选择排序法。假设有十个元素a[0]~a[10],第一次将a[0]和a[1]—a[9]比较,如果其中有比a[0]小的数那么就互换值,此时a[0]一定是最小的数。第二次将a[1]和a[2]—a[9]比较,如果其中有比a[1]小的数那么就互换值,此时a[1]一定是第二小的数。以此类推,到最后那就是a[8]和a[9]比较。算下来一共进行了9次比较, ...
CHI里的Error handling机制
本文讲解了CHI里的Error handling机制。
c语言--选择排序法
选择排序法。输人一个正整数n (1<n≤10), 再输人n个整数,用选择法将它们从小到大排序后输出。 排序又称为分类,是程序设计的常用算法,包括冒泡排序、选择排序等。选择排序的算法步骤如下: 第1步:在未排序的n个数(a [0] ~a [n- 1])中找到最小数,将它与a [0]交换; 第2步:在剩下未排序的n- 1个数(a [1] ~a [n- 1])中找到最小数,将它与a[1]交换; 第...
基于python的奥运会历史数据分析【120年】
数据分析实战案例
数据分析项目:电商用户行为分析系统
本报告基于某电商平台用户行为数据(采样10%),通过清洗、探索性分析及多维度建模,旨在挖掘用户行为特征、商品销售规律及用户价值分层,为运营策略优化提供数据支持。原始数据字段:用户ID、商品ID、类目ID、行为类型、时间戳。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。,少数高活跃用户贡献大部分行为,多数用户行为次数较少。
java选择排序法
选择排序法: 1;将数组中的全部元素进行比较,(比较大小方法不用说了吧)把最小值放到为数组中的第一个位置,即a[0] 2:将数组中从第二个元素开始到最后一个元素比较大小,最小值放到数组中的第二个位置; 3:同上,依次类推 public static void main(String[] args) { int[] a= {1,5,4,2,784,9,11,85}; for (int i = ...
基于Python的新闻聚合与推荐系统:抓取多新闻网站内容并根据用户兴趣进行个性化推荐
本文介绍了如何使用Python构建一个新闻聚合与推荐系统,涵盖了从新闻数据抓取、用户兴趣建模到推荐算法实现的全过程。通过爬虫技术抓取新闻网站内容,使用TF-IDF、Word2Vec等算法进行内容分析,并通过推荐算法向用户推送个性化的新闻,最终帮助用户快速获取自己感兴趣的信息。你可以根据具体需求,进一步扩展和优化系统。例如,加入更多的推荐算法、优化爬虫的抓取效率、增强前端展示的互动性等。通过本文的指导,您应该能够构建一个完整的新闻聚合与推荐系统,并为用户提供个性化的新闻推荐服务。
排序——选择排序法
选择排序法 选择排序法也算是枚举法的应用,就是反复从未排序的数列中取出最小的元素,加入到另一个数列中,最后的结果即为已排序的数列。选择排序法可使用两种方式排序,即在所有的数据中,若从大到小排序,则将最大值放入第一个位置;若从小到大排序,则将最大值放入最后一个位置。例如,一开始在所有数据中挑选一个最小项放在第一个位置(假设是从小到大排序),再从第二项开始挑选一个最小项放在第二个位置,以此重复,直到完成排序为止。 演示 原始值:55,23,87,62,16 第一次扫描:先找到该数列中最小值,然后与数列中第一个元
DSP开发环境及工具之CCS
CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。从其名称可以看出,该文件的作用是指明如何链接程序的。编辑完C语言设置,添加cmd文件之后,然后检查编译配置选项。主要的操作都是在这个窗口之间做相应的切换。
BME688传感器原理图设计,已量产(环境传感器)
在便携式空气质量监测、可穿戴健康设备这类低功耗场景中,BME688 这类集成了 VOC、温湿度、气压的四合一 MEMS 传感器越来越受欢迎 —— 它体积小、功耗低,刚好匹配便携设备的需求。但这类小信号传感器对电源噪声、电平匹配的要求很细,今天结合实际项目里的一款 BME688 接口电路,聊聊硬件设计的关键细节。
浅谈排序算法:冒泡排序法和选择排序法的区别
word横线怎么打 https://jingyan.baidu.com/article/00a07f380d690c82d028dcf9.html 在word文档中怎么设置每段的开头空两格? https://zhidao.baidu.com/question/560399680.html 在Word中输入后文字下面会出现蓝色的双下划线怎么取消 https://www.kafan.cn/A/gvxe...
SAP-ABAP:SAP信贷管理核心:CL_UKM_BUPA_FACTORY类完整解析与实践指南
SAP信贷管理核心类CL_UKM_BUPA_FACTORY解析 CL_UKM_BUPA_FACTORY是SAP信贷管理(UKM)模块的核心类,作为业务伙伴信贷数据的中央控制台,它提供: 统一入口:标准化实例化客户/供应商信贷对象 主要功能: 获取单条/批量业务伙伴数据 安全保存数据变更 封装底层数据访问逻辑 典型应用场景: 信贷主数据批量维护 自动化限额调整 订单信贷实时检查 性能优化建议: 使用批量方法替代循环单条处理 合理设置字段选择 实施缓存策略 该类通过简洁API简化复杂信贷操作,是SAP信贷管理开
用选择排序法 从大到小输出10个整数
用选择排序法 从大到小输出10个整数 int main() { int a[10], *p = a; 注意:如果不设置数组值设置指针变量就会出错,如*a,而不指定数组的大小 ,这是因为指针变量arr没有确定的值,谈不上指向那个变量,所以指针变量指向数组元素地址的时候,要定义该数组的大小。 选择排序法 是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一...
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
【八大数据排序法】选择排序法的图形理解和案例实现 | C++
排序算法是我们在程序设计中经常见到和使用的一种算法,它主要是将一堆不规则的数据按照递增或递减的方式重新进行排序。在如今的互联网信息时代,随着大数据和人工智能的发展,大型企业的数据库中有亿级的用户数据量。因此对其进行处理,排序算法也就成为了其中必不可缺的步骤之一。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
C++ 选择排序法
选择排序法 首先假定数组第一个元素是最小值,找到数据中最小的元素,其次,将它和数组第一个元素交换位置,(完成一次遍历后,可将数组看成已排序和未排序的两个部分),然后在剩下的元素中的找到最小值元素,将它与数组的第二个元素交换位置,如此往复,直至遍历完整个数组,形成有序序列。 // 选择排序法 void SelectSort(int arr[], int length) { if (arr == nullptr || length <=1) { return; } for (int i = 0
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
python实现选择排序法
1、选择排序法不是稳定排序法,空间复杂度为最佳,只需一个额外空间 2、无论是最坏情况、最佳情况还是平均情况都需要找到最大值(或最小值), 因此比较的次数是(n-1) + (n-2) +…+3 + 2+1 = n(n-1)/2, 时间复杂度为O(n^2) 3、此排序法适用于数据量小或有部分数据已经过排序的情况 数据从小到大排序: def showdata(data): for i in ...
php选择排序法
1、选择排序法实例详解: <?php //忽略notice级错误提示 //error_reporting(E_ALL^E_NOTICE); ?> <?php /* 选择排序法的思路:就是再第一次循环中,假设第一个数是最小的;然后跟第二个数比较,一直比到最后,找出最小值,然后把最小值跟第一个数的位置互换;再进行下一次循环,找出最小值跟第二个位置的数互换;一直循环数组的个数减去1次
5379



被折叠的 条评论
为什么被折叠?



