zoukankan      html  css  js  c++  java
  • 实验5

    ex1-1

    // 练习:使用二分查找,在一组有序元素中查找数据项
    //  形参是数组,实参是数组名 
    #include  <stdio.h>
    const int N=5;
    int binarySearch(int x[], int n, int item);
    int main() {
    	int a[N]={1,3,9,16,21};
    	int i,index, key;
    	
    	printf("数组a中的数据:\n");
    	for(i=0;i<N;i++)
    	   printf("%d ",a[i]);
    	printf("\n");
    	
    	printf("输入待查找的数据项: ");
    	scanf("%d", &key);
    	
    	// 调用函数binarySearch()在数组a中查找指定数据项item,并返回查找结果给index 
    	// 补足代码① 
    	// ××× 
    	
    	if(index>=0) 
    		printf("%d在数组中,下标为%d\n", key, index);
    	else
    		printf("%d不在数组中\n", key); 
       
       return 0;
    }
    
    
    //函数功能描述:
    //使用二分查找算法在数组x中查找特定值item,数组x大小为n 
    // 如果找到,返回其下标 
    // 如果没找到,返回-1 
    int binarySearch(int x[], int n, int item) {
    	int low, high, mid;
    	
    	low = 0;
    	high = n-1;
    	
    	while(low <= high) {
    		mid = (low+high)/2;
    		
    		if (item == x[mid])
    			return mid;
    		else if(/*补足代码②*/)
    			high = mid - 1;
    		else
    			low = mid + 1;
    	}
    	
    	return -1;
    }
    

      

    ex1-2

    // 练习:使用二分查找,在一组有序元素中查找数据项
    //  形参是指针变量,实参是数组名
    #include  <stdio.h>
    const int N=5;
    int binarySearch(int *x, int n, int item);
    int main() {
    	int a[N]={1,3,9,16,21};
    	int i,index, key;
    	
    	printf("数组a中的数据:\n");
    	for(i=0;i<N;i++)
    	   printf("%d ",a[i]);
    	printf("\n");
    	
    	printf("输入待查找的数据项: ");
    	scanf("%d", &key);
    	
    	// 调用函数binarySearch()在数组a中查找指定数据项item,并返回查找结果
    	// 补足代码①
    	// ××× 
    	
    	if(index>=0) 
    		printf("%d在数组中,下标为%d\n", key, index);
    	else
    		printf("%d不在数组中\n", key); 
       
       return 0;
    }
    
    //函数功能描述:
    //使用二分查找算法在x指向的数据项开始的n个数据中,查找item
    // 如果找到,返回其位置
    // 如果没找到,返回-1 
    int binarySearch(int *x, int n, int item) {
    	int low, high, mid;
    	
    	low = 0;
    	high = n-1;
    	
    	while(low <= high) {
    		mid = (low+high)/2;
    		
    		if (item == *(x+mid))
    			return mid;
    		else if(/*补足代码②*/)
    			high = mid - 1;
    		else
    			low = mid + 1;
    	}
    	
    	return -1;
    }
    

      

    ex2-2

    // 练习:使用选择法对字符串按字典序排序
    #include <stdio.h>
    #include <string.h>
    void selectSort(char str[][20], int n ); // 函数声明,形参str是二维数组名 
    int main() {
    	char name[][20] = {"John", "Alex", "Joseph", "Candy", "Geoge"};
    	int i;
    	
    	printf("输出初始名单:\n");
    	for(i=0; i<5; i++)
    		printf("%s\n", name[i]);
    		
    	selectSort(name, 5);  // 调用选择法对name数组中的字符串排序
    	
    	printf("按字典序输出名单:\n");
    	for(i=0; i<5; i++)
    		printf("%s\n", name[i]);
    	 
    	return 0;
    } 
    
    // 函数定义
    // 函数功能描述:使用选择法对二维数组str中的n个字符串按字典序排序 
    void selectSort(char str[][20], int n) {
    	// 补足代码
    	// ××× 
    }
    

      

    part3截屏

  • 相关阅读:
    net core 使用 rabbitmq
    asp.net core WebApi 返回 HttpResponseMessage
    asp.net core 2.1 WebApi 快速入门
    JQuery EasyUI combobox动态添加option
    php截取字符去掉最后一个字符
    JQuery EasyUI Combobox的onChange事件
    对于不返回任何键列信息的 selectcommand 不支持 updatecommand 的动态 sql 生成
    Access2007 操作或事件已被禁用模式阻止解决办法
    Easyui 中 Tabsr的常用方法
    Win 7 IE11不能下载文件,右键另存为也不行
  • 原文地址:https://www.cnblogs.com/suzhen/p/10934155.html
Copyright © 2011-2022 走看看