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
来源:https://www.cnblogs.com/112358nizhipeng/p/10778586.html