• 看起来很简单,但是实际应用时可能会有意外


    看起来很简单,但是实际应用时可能会有意外,继承的概念在程序 世界与现实世界并不完全相同。 

     1 #include <iostream>
     2 
     3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     4 
     5 #include<string.h>
     6 
     7 using namespace std;
     8 //显示数组的函数模板
     9 template <class T> void arr_put(T arr[],int size) {
    10     for (int i=0 ;i<size;i++)
    11         cout<<arr[i]<<" ";
    12     cout<<endl;
    13 }
    14 
    15 //选择法对数组排序的函数模板
    16 template <class T> void sort(T arr[],int size) {
    17     T temp;
    18     int i,j;
    19     for (i=0;i<size-1;i++)
    20         for (j=i+1;j<size;j++)
    21             if (arr[i]>arr[j])
    22             {
    23                temp=arr[i];
    24                arr[i]=arr[j];
    25                arr[j]=temp;
    26             }
    27 }
    28 
    29 //二分查找法的函数模板
    30 template <class T> int binary_search(T array[], T value, int size)
    31 {
    32     int found = 0;
    33     int high = size, low = 0, mid;
    34 
    35     mid = (high + low) / 2;
    36 
    37     cout<<"Looking for "<<value<<endl;
    38     while ((! found) && (high >= low))
    39     {
    40       if (value == array[mid])
    41         found = 1;
    42       else if (value < array[mid])
    43         high = mid - 1;
    44       else
    45         low = mid + 1;
    46         mid = (high + low) / 2;
    47     }
    48     return((found) ? mid: -1);
    49 }
    50 
    51 //main()函数中使用处理数组的函数模板
    52 
    53 int main(int argc, char** argv) {
    54     
    55     //处理int型数组
    56     int array[10]={1,3,5,7,9,2,4,6,8,10};
    57     
    58     //显示数组初值
    59     arr_put(array,10);
    60     
    61     //对数组排序并显示
    62     sort(array,10);
    63     arr_put(array,10);
    64 
    65     //查找数组
    66     cout<<"Result of search: "<<binary_search(array, 3, 10)<<endl;
    67     cout<<"Result of search: "<<binary_search(array, 2, 10)<<endl;
    68     cout<<"Result of search: "<<binary_search(array, 9, 10)<<endl;
    69     cout<<"Result of search: "<<binary_search(array, 5, 10)<<endl;
    70     cout<<"------------------------------"<<endl;
    71 
    72     //处理字符串型数组
    73     char ch1,str[]="happy";
    74     int size=strlen(str);
    75     
    76     //显示数组初值
    77     arr_put(str,size);
    78     
    79     //对数组排序并显示
    80     sort(str,size);
    81     arr_put(str,size);
    82 
    83     //查找数组
    84     cout<<"Input a char:";
    85     cin>>ch1;
    86     cout<<"Result of search: "<<binary_search(str, ch1, size)<<endl;
    87     return 0;
    88 }
  • 相关阅读:
    ios8消息快捷处理——暂无输入框
    animateWithDuration 动画的速度选择
    对网页进行修改js代码
    如何对网页进行长截图
    centos快速配置yum源
    No module named 'Crypto.PublicKey' 完美解决办法
    Virtualenv 环境配置
    Python逻辑运算符的本质
    Django 使用Contenttype组件创建多关联数据库表
    Django Rest Framework url注册器组件 | 响应器组件 | 分页器组件
  • 原文地址:https://www.cnblogs.com/borter/p/9417869.html
Copyright © 2020-2023  润新知