zoukankan      html  css  js  c++  java
  • 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.约瑟夫问题(数组实现链表)

  • 相关阅读:
    ini_set /ini_get函数功能-----PHP
    【转】那个什么都懂的家伙
    word 2007为不同页插入不同页眉页脚
    August 26th 2017 Week 34th Saturday
    【2017-11-08】Linux与openCV:opencv版本查看及库文件位置等
    August 25th 2017 Week 34th Friday
    August 24th 2017 Week 34th Thursday
    August 23rd 2017 Week 34th Wednesday
    August 22nd 2017 Week 34th Tuesday
    August 21st 2017 Week 34th Monday
  • 原文地址:https://www.cnblogs.com/friction/p/8477872.html
Copyright © 2011-2022 走看看