zoukankan      html  css  js  c++  java
  • c++程序小练习

    1、strcpy原型实现

    char * my_strcpy(char *des,const char *src) {
        assert((des != nullptr) && (src != nullptr));
            char *address = des;
            while (*src != '') {
                *des++ = *src++;
            }
            return address;
    }

    调用

        char* des=(char*)malloc(sizeof(char)*100) ;
        memset(des,0,sizeof(char)*100);
        my_strcpy(des,"hello world!");
        cout << des<<endl;
        free(des);
        des = nullptr;

     2、宏定义返回两个数中小的一个

    #define Min(A,B) ((A)<=(B)?(A):(B))
    
    int main() {
        cout << Min(108,221);
        std::getchar();
        return 0;
    }

    Min(*p++,q)会导致p自增两次

    3、二叉查找

    int binary_search(int *a,int num,int val);
    
    int binary_search(int *a, int num, int val) {
        int begin = 0;
        int end = num-1;
    
        while (begin <= end){
            int mid = begin + ((end - begin) >> 1);//右移一位,表示除以2
    
            if (a[mid] < val){
                begin = mid + 1;
            }
            else if (a[mid] > val){
                end = mid - 1;
            }
            else
            {
                return mid;
            }
        }
        return -1;
    }
    
    
    int main() {
    
        int a[] = { 1,5,8,9,50,55,60,61,62,70 };
    
        cout<< binary_search(a, 16, 60);
    
        std::getchar();
        return 0;
    }

     4、返回字符串不同收字母位置

    int str_cmp_diff(const char *str1, const char *str2){
    
        int i=0;
        while (str1[i] != '' && str2[i] != ''){
            if ((str1[i] | 0x20) != (str2[i] | 0x20))
                return i + 1;
            i++;
        }
        return 0;
    }
    
    int main() {
    
        cout << str_cmp_diff("hellowrold", "helloxshsa;");
        std::getchar();
        return 0;
    }
  • 相关阅读:
    链表操作
    建立简单的链表
    scanf()函数用法小结
    快速求某年某月是第几天(未整理)
    合并两个有序数组(未整理)
    如何配置JAVA的环境变量、Tomcat环境变量
    【动态规划】流水作业调度问题与Johnson法则
    分治法(二)
    分治法(一)
    HTML5入门十一---Canvas画布实现画图(二)
  • 原文地址:https://www.cnblogs.com/xietianjiao/p/12875809.html
Copyright © 2011-2022 走看看