• 201802227上午


    1.字符串排序(指针实现)

      用二维数组来记下每一组的字符串

           用一个指针数组来指向每个字符串

              再从1~n用cmp实现字典序排序

       重点:cmp函数两个参数为指针,利用strcmp函数实现字典序比较排序,由于puts函数本身就是利用首地址进行输出所以只需要给它原指针即可

       老师代码如下(附注释):

          

     1 //本程序是将n个字符串按字典序从大到小排序 
     2 
     3 #include<bits/stdc++.h>
     4 #define For(i,l,r)     for(int i=(l);i<=(r);i++)
     5 using namespace std;
     6 char str[100][1000];
     7 char *ptr[100];
     8 //定义一个比较两个字符指针
     9 bool cmp(char str1[],char *str2){        //str1和str2 是两个指向char类型的指针变量
    10     return strcmp(str1,str2)<0;    //相当于if (strcmp(a,b)<0) return true ;else return false;                
    11     //strcmp函数是一个<cstring>里的字符串比较函数,当字典序下分别为a>b,a==b,a<b,返回值为正数、0、负数
    12 }
    13 int main(){
    14     int n;
    15     scanf("%d
    ",&n);    
    16     //    %d
    是强制换行,保证第一个字符串的输入从下一行开始。由于scanf需要对传入的n的值进行修改,所以传入n的地址 
    17     For(i,1,n){        //宏定义取代了for(int i=1,i<=n;i++) 
    18         gets(str[i]);
    19         ptr[i]=str[i];//字符指针ptr[i] 存 str[i]字符串的首地址 
    20     }
    21     sort(ptr+1,ptr+1+n,cmp);    //对指针进行排序,两个指针的大小依据cmp返回的结果
    22     For(i,1,n)
    23         puts(ptr[i]);    //按序扫描一遍指针,输出指针指向的字符串 
    24     return 0;
    25 }
    老师代码如下

    2.约瑟夫问题(数组实现链表)

  • 相关阅读:
    React38路由守卫的实现和使用以及Route的不同渲染方式解析
    React37嵌套路由及路由重定向
    React36react-router的路由传参取参
    ElasticSearch总结3-聚合
    ElasticSearch总结2-高级搜索
    [转]Druid连接池泄露引发的血案!
    Swagger的Starter使用及增强
    MySQL问题排查
    ElasticSearch总结1-查询表达式
    使用Spring Validation优雅地进行参数校验
  • 原文地址:https://www.cnblogs.com/friction/p/8477872.html
Copyright © 2020-2023  润新知