• 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.约瑟夫问题(数组实现链表)

  • 相关阅读:
    leetcode
    leetcode: Path Sum II 迭代法
    leetcode : valid binary search tree
    地域划分 编程题
    n个整数中,找出尽可能多的数使他们组成一个等差数列,求最长等差数列的长度
    Nodejs 调试方法
    精心收集的48个JavaScript代码片段,仅需30秒就可理解
    React Native ref高级用法&&setNativeProps使用
    Git工作流指南:Gitflow工作流
    Git工作流指南:Pull Request工作流
  • 原文地址:https://www.cnblogs.com/friction/p/8477872.html
Copyright © 2020-2023  润新知