介紹 11 個常用的 C++ 代碼
C++是使用最廣泛的編程語言之一。它每天都被數(shù)百萬程序員使用,是競爭性編程的首選語言。在這里,我們將列出11 C++代碼片段,可以幫助您解決日常編程問題。因此,事不宜遲,讓我們開始吧。
1.查找矢量的大小
我們嗯可以使用 size() 函數(shù)找到向量的大小。
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector <int> arr1 = {1, 2, 3, 4};
vector <int> arr2 = {};
vector <float> arr3 = {1.2, 3.8, 3.0, 2.7, 6.6};
cout << "Size of arr1: " << arr1.size() << endl;
cout << "Size of arr2: " << arr2.size() << endl;
cout << "Size of arr3: " << arr3.size() << endl;
return 0;
}
輸出:
Size of arr1: 4
Size of arr2: 0
Size of arr3: 5
2.隨機排列數(shù)組
我們可以使用 shuffle() 函數(shù)在C++中隨機排列數(shù)組。
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector <int> arr = {1, 2, 3, 4};
unsigned seed = 0;
cout << "Original array:";
for (int ele: arr)
{
cout << ele << " ";
}
cout << endl;
shuffle(arr.begin(), arr.end(), default_random_engine(seed));
cout << "Shuffled array:";
for (int ele: arr)
{
cout << ele << " ";
}
return 0;
}
輸出:
Original array:1 2 3 4
Shuffled array:2 3 1 4
3. 在C++交換兩個變量
我們可以使用C++ STL 庫的內(nèi)置 swap() 函數(shù)交換C++中的兩個變量。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x = 5, y = 10;
string str1 = "MakeUseOf", str2 = "MUO";
cout << "Before Swapping: " << endl;
cout << "x: " << x << endl;
cout << "y: " << y << endl;
cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
swap(x, y);
swap(str1, str2);
cout << "After Swapping: " << endl;
cout << "x: " << x << endl;
cout << "y: " << y << endl;
cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
return 0;
}
輸出:
Before Swapping:
x: 5
y: 10
str1: MakeUseOf
str2: MUO
After Swapping:
x: 10
y: 5
str1: MUO
str2: MakeUseOf
4.查找數(shù)字的位數(shù)之和
我們可以使用以下過程找到數(shù)字的數(shù)字總和:
- 初始化總和變量以存儲結(jié)果。
- 通過對 10 執(zhí)行模運算來查找數(shù)字的余數(shù)。
- 將余數(shù)與總和相加。
- 將數(shù)字除以 10。
- 在數(shù)字大于 10 時重復(fù)步驟 2 中的過程。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int num = 4635, sum = 0, temp;
while (num != 0)
{
temp = num%10;
sum = sum+temp;
num = num/10;
}
cout << "Sum: " << sum << endl;
return 0;
}
輸出:
Sum: 18將一個矢量復(fù)制到另一個矢量
5. 有多種方法可以將一個向量復(fù)制到另一個向量
C++可以使用賦值運算符或?qū)⑾蛄孔鳛闃?gòu)造函數(shù)傳遞來執(zhí)行相同的操作。
#include <bits/stdc++.h>
using namespace std;
void printVector(vector <int> vec)
{
for (auto ele: vec)
{
cout << ele << " ";
}
cout << endl;
}
int main()
{
vector <int> vec = {1, 2, 3, 4, 5};
printVector(vec);
// Method 1: Using Assignment Operator
vector <int> newVec1 = vec;
printVector(newVec1);
// Method 2: By passing vector as constructor
vector <int> newVec2(vec);
printVector(newVec2);
return 0;
}
輸出:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
6.查找數(shù)組的最大和最小元素
我們可以分別使用max_element()和min_element()函數(shù)從數(shù)組中找到最大和最小元素。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = {23, 56, 87, 12, 56};
int size = sizeof(arr)/sizeof(arr[0]);
cout << "Max element: " << *max_element(arr, arr+size) << endl;
cout << "Min element: " << *min_element(arr, arr+size) << endl;
return 0;
}
輸出:
Max element: 87
Min element: 12
7. 在集合中插入元素
我們可以使用 insert() 函數(shù)在集合中插入元素。此函數(shù)接受元素作為將插入到集合中的參數(shù)。
#include <bits/stdc++.h>
using namespace std;
int main()
{
set<string> st;
st.insert("Make");
st.insert("Use");
st.insert("Of");
st.insert("Of");
for (auto it = st.begin(); it != st.end(); it++)
{
cout << *it << " ";
}
return 0;
}
輸出:
Make Of Use
8. 從字符串中刪除重復(fù)項
可以使用以下方法從字符串中刪除重復(fù)字符:
#include <bits/stdc++.h>
using namespace std;
void removeDuplicateCharacters(char str[], int size)
{
int newIndex=0;
// Traversing through all the characters
for (int i = 0; i < size; i++)
{
int j;
// Traversing loop from the first character to current character
for (j = 0; j < i; j++)
{
if (str[i] == str[j])
{
break;
}
}
if (j == i)
{
str[newIndex++] = str[i];
}
}
// After removing duplicates, we make
// the vacant part of string to null
str[newIndex] = '\0';
}
int main()
{
char str[] = "MakeUseOf";
int size = strlen(str);
cout << "Original String: " << endl;
cout << str << endl;
removeDuplicateCharacters(str, size);
cout << "New String: " << endl;
cout << str << endl;
return 0;
}
輸出:
Original String:
MakeUseOf
New String:
MakeUsOf
9.查找C++字符串的長度
您可以使用 length() 函數(shù)查找C++字符串的長度?;蛘?,您也可以使用 size() 函數(shù)(它是長度() 函數(shù)的別名)。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str1 = "MakeUseOf";
cout << "Length of " << str1 << " : " << str1.length() << endl;
string str2 = "lorem ipsum";
cout << "Length of " << str2 << " : " << str2.size() << endl;
return 0;
}
輸出:
Length of MakeUseOf : 9
Length of lorem ipsum : 11
10.從數(shù)組中刪除元素
可以使用以下方法從數(shù)組中刪除元素:
#include <bits/stdc++.h>
using namespace std;
int deleteElementFromArray(int arr[], int size, int elementToBeDeleted)
{
int i, j;
// Search if elementToBeDeleted is present
// in the array or not
for (i = 0; i < size; i++)
{
if (arr[i] == elementToBeDeleted)
{
break;
}
}
// If elementToBeDeleted is found in the array
if (i < size)
{
// We need to reduce the size of the array
// and shift the rest elements
size = size - 1;
for (j = i; j < size; j++)
{
arr[j] = arr[j+1];
}
}
// New array size is returned
return size;
}
void printArrayElements(int arr[], int size)
{
for (int i = 0; i < size; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr)/sizeof(arr[0]);
cout << "Original Array: " << endl;
printArrayElements(arr, size);
int elementToBeDeleted = 3;
size = deleteElementFromArray(arr, size, elementToBeDeleted);
cout << "New array: " << endl;
printArrayElements(arr, size);
return 0;
}
輸出:
Original Array:
1 2 3 4 5
New array:
1 2 4 5
有時,直接理解復(fù)雜的代碼并不容易。您應(yīng)該遵循一些基本的編程原則,如記錄代碼、重構(gòu)等,以使代碼更加健壯。
11. 迭代向量
您可以通過多種方式循環(huán)訪問向量。以下是迭代向量的三種最常用的方法:
(1) 使用范圍:
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector <int> vec = {1, 2, 3, 4, 5};
// Method 1: Using range for
for (auto element: vec)
{
cout << element << " ";
}
return 0;
}
使用索引
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector <int> vec = {1, 2, 3, 4, 5};
// Method 2: Using indexing
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << " ";
}
return 0;
}
(2) 使用迭代器的引用:
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector <int> vec = {1, 2, 3, 4, 5};
// Method 3: Using reference of the iterator
for (auto it = begin(vec); it != end(vec); it++)
{
cout << *it << " ";
}
return 0;
}
以上三個代碼將顯示相同的輸出:
1 2 3 4 5
(3) 利用C++代碼片段
利用這些C++代碼片段來解決日常編程問題。無論您是使用C++編寫簡單程序還是競爭編程,這些代碼片段都可以派上用場。