北大程序设计与算法mooc课笔记合集

时间:2021-07-25 23:59:33

目录:

  1.stl初步

  2.poj须知

  3.qsort:(c标准库中的排序算法)

 

 

正文内容:

1:stl初步

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

 

我的实践:

当想把两个用数组存放的字符串利用sort函数排序时,

#include <iostream>
#include <cstring>
#include <cmath>
#include <stdio.h>
#include <algorithm>
using namespace std;

struct rule
{
    bool operator()(const char & a1,const char & a2)//总之吧,这里的类型该怎么写,我不知道。试了char * 等等多个都报错。
    {
        return strcmp((char *)a1,(char* )a2)<0;
    }
};

int main()
{
    char a[2][10];
    cin>>a[0]>>a[1];
    sort(a,a+2,rule());
    cout<<a[0]<<" "<<a[1];
    return 0;
} 

 

但通过如下把字符串存在结构体中可以解决。

#include <iostream>
#include <cstring>
#include <cmath>
#include <stdio.h>
#include <algorithm>
using namespace std;


struct xx
{
    char a[10];
};
struct rule
{
    bool operator()(const xx& a1,const xx& a2)
    {
        return strcmp(a1.a,a2.a)<0;
    }
};

int main()
{
    xx a[2];
    cin>>a[0].a>>a[1].a;
    sort(a,a+2,rule());
    cout<<a[0].a<<" "<<a[1].a;
    return 0;
} 

 

 

 

 

 

 

 

 

 

 

2:poj须知。

北大程序设计与算法mooc课笔记合集

 

 北大程序设计与算法mooc课笔记合集

北大程序设计与算法mooc课笔记合集

 

3.qsort:https://www.runoob.com/cprogramming/c-function-qsort.html