C++是竞争性编程最喜欢的语言。在本文中,将讨论C++的某些功能,这些功能最适合于竞争性编程。
STL(标准模板库) : C++有一个庞大的库,称为STL,它是C++模板的集合,可提供常见的编程数据结构和功能,例如列表,堆栈,数组等,这使得代码非常短并提高了速度。编码。它是容器类,算法和迭代器的库。例如, std :: min用于找出传递给它的最小数字。如果有多个,则返回第一个。
程序1:
C++
// C++ program to demonstrate the
// use of min() function
#include
using namespace std;
// Driver Code
int main()
{
double a = 12.123;
double b = 12.456;
// Print the minimum of the
// two numbers
cout << min(a, b);
return 0;
}
C++
// C++ program to measure execution
// time using clock() function
#include
using namespace std;
// Function whose time taken to
// be measured
void fun()
{
for (int i = 0; i < 10; i++) {
}
}
// Driver Code
int main()
{
// clock_t clock(void) returns the
// number of clock ticks elapsed
// after program was launched.
clock_t start, end;
// Recording the starting
// clock tick
start = clock();
fun();
// Recording the end clock tick
end = clock();
// Calculating total time taken
// by the program
double time_taken
= double(end - start)
/ double(CLOCKS_PER_SEC);
cout << "Time taken by program is: "
<< fixed
<< time_taken
<< setprecision(5);
cout << " sec " << endl;
return 0;
}
C++
// C++ program to demonstate template
#include
using namespace std;
// Generic function to find minimum
// of 2 data types
template
T Min(T x, T y)
{
return (x < y) ? x : y;
}
// Driver Code
int main()
{
cout << Min(7, 3) << endl;
cout << Min('z', 'a') << endl;
return 0;
}
C++
// C++ program to demonstrate snippets
#include
using namespace std;
#define MOD 1000000007
#define endl "\n"
#define lli long long int
#define ll long long
#define mp make_pair
#define pb push_back
void solve()
{
// Write down your desired
// code here
cout << "Write your code here";
}
// Driver Code
int main()
{
// Handle t number of testcases
int t = 1;
while (t--) {
solve();
}
return 0;
}
12.123
更快:就速度而言,C / C++比任何其他编程语言都快。 C++源代码需要成为机器代码。而Python在解释时会遵循不同的策略。代码的编译总是比解释更快。
程式2:
下面的程序演示如何使用clock()函数测量执行时间:
C++
// C++ program to measure execution
// time using clock() function
#include
using namespace std;
// Function whose time taken to
// be measured
void fun()
{
for (int i = 0; i < 10; i++) {
}
}
// Driver Code
int main()
{
// clock_t clock(void) returns the
// number of clock ticks elapsed
// after program was launched.
clock_t start, end;
// Recording the starting
// clock tick
start = clock();
fun();
// Recording the end clock tick
end = clock();
// Calculating total time taken
// by the program
double time_taken
= double(end - start)
/ double(CLOCKS_PER_SEC);
cout << "Time taken by program is: "
<< fixed
<< time_taken
<< setprecision(5);
cout << " sec " << endl;
return 0;
}
Time taken by program is: 0.000001 sec
简单的构造: C++是一种简单的语言,即,它更接近于底层语言,因此,用C++编写代码比用Java编写代码要容易得多。而且,这使代码生成过程在C++中变得更加简单,优化和快速(例如,在Java,无需先将代码转换为字节代码,然后再转换为机器代码)。
广泛使用: C++被全世界75%的程序员认为是竞争性编程的最佳选择,因为它通常比Java和Python更快,并且大多数资源都可在C++中获得。
模板:模板是C++中一个简单但功能非常强大的工具。简单的想法是将数据类型作为参数传递,这样我们就不必为不同的数据类型编写相同的代码。
程序3:
下面是演示模板的程序:
C++
// C++ program to demonstate template
#include
using namespace std;
// Generic function to find minimum
// of 2 data types
template
T Min(T x, T y)
{
return (x < y) ? x : y;
}
// Driver Code
int main()
{
cout << Min(7, 3) << endl;
cout << Min('z', 'a') << endl;
return 0;
}
3
a
片段:片段提供了一种将常用代码或函数实现为较大代码段的简便方法。程序员不必一遍又一遍地重写相同的代码,而是可以将代码另存为代码段,并且只需将代码段拖放到需要的地方即可。通过使用代码片段,程序员和Web开发人员还可以将常见的代码部分组织到类别中,从而创建更简洁的开发环境。它还提高了编码速度,有助于编码竞赛等。
计划4:
以下是可在竞争性编程中使用的示例代码段示例:
C++
// C++ program to demonstrate snippets
#include
using namespace std;
#define MOD 1000000007
#define endl "\n"
#define lli long long int
#define ll long long
#define mp make_pair
#define pb push_back
void solve()
{
// Write down your desired
// code here
cout << "Write your code here";
}
// Driver Code
int main()
{
// Handle t number of testcases
int t = 1;
while (t--) {
solve();
}
return 0;
}
Write your code here