C++数组,sort

cmake_minimum_required(VERSION 3.5)
project(Test)

add_executable( te test.cpp )

 

test.cpp

 1 #include <stdlib.h>
 2 #include <iostream>
 3 #include <stdio.h>
 4 #include <fstream>
 5 using namespace std;
 6 int main()
 7 {
 8     int test[10] = {0};  // 全都赋值为0
 9     for(int i = 0; i < 10; i++)
10     {
11         cout << test[i] << endl;        
12         test[i]++;
13 
14     } 
15         std::cout << "=======================" << std::endl;
16         for (int j = 0; j < 10; j++)
17         {
18             std::cout << test[j] << std::endl;
19         }
20         return 0;
21 } 

执行结果:

0
0
0
0
0
0
0
0
0
0
=======================
1
1
1
1
1
1
1
1
1
1

 

 

sort

sort.cpp

 1 #include <iostream>
 2 #include <array>
 3 #include <algorithm>
 4 #include "opencv2/imgproc/imgproc.hpp"
 5 #include "opencv2/highgui/highgui.hpp"
 6 
 7 using namespace std;
 8 
 9 struct Line{    // 大写
10     cv::Point2i p1, p2;
11 };
12 
13 bool compare(int a, int b)
14 {
15     return a < b;
16 }
17 
18 bool cpr(Line l1, Line l2){
19     return l1.p2.y > l2.p2.y;
20 }
21 
22 
23 int main() {
24     std::array<int, 10> s = { 5, 7, 4, 2, 8, 6, 1, 9, 0, 3 };
25 
26     sort(s.begin(), s.end(), compare);
27     for (auto a : s) {
28         std::cout << a << " ";
29     }
30     std::cout << '\n' << '\n';
31 
32     vector<Line> lines;
33     Line l1, l2;
34     l1.p1 = cv::Point2i(1, 2);
35     l1.p2 = cv::Point2i(7, 3);
36 
37     lines.push_back(l1);
38 
39     l2.p1 = cv::Point2i(3, 10);
40     l2.p2 = cv::Point2i(8, 9);
41     lines.push_back(l2);
42     cout << "排序前:" << endl;
43     for (auto & l : lines){
44         cout << l.p1.x << " " << l.p1.y << " " << l.p2.x << " " << l.p2.y << endl;
45     }
46 
47     sort(lines.begin(), lines.end(), cpr);
48     cout << "排序后:" << endl;
49     for (auto & l : lines){
50         cout << l.p1.x << " " << l.p1.y << " " << l.p2.x << " " << l.p2.y << endl;
51     }
52 
53     return 0;
54 }

CMakeLists.txt

cmake_minimum_required(VERSION 3.9)
project(sort)

set(CMAKE_CXX_STANDARD 11)
FIND_PACKAGE(OpenCV REQUIRED)

add_executable(sort main.cpp)
TARGET_LINK_LIBRARIES(sort ${OpenCV_LIBS})

执行结果:

0 1 2 3 4 5 6 7 8 9 

排序前:
1 2 7 3
3 10 8 9
排序后:
3 10 8 9
1 2 7 3

Process finished with exit code 0

 

posted on 2019-04-27 14:09  嘟嘟嘟啦  阅读(317)  评论(0编辑  收藏  举报

导航