Thứ tự từ điển là một kiến thức quan trọng khi học về xâu ký tự, bài viết này mình sẽ hướng dẫn các bạn cách xác định thứ tự từ điển giữa các xâu ký tự cũng như các hàm và toán tử trong string đã cung cấp sẵn NỘI DUNG : - Thứ Tự Từ Điển (Lexicographically) Là Gì ?
- Toán Tử So Sánh String Và Hàm Compare()
- Video Tutorial
1. Thứ Tự Từ Điển (Lexicographically) Là Gì ? Thứ tự từ điển của xâu ký tự hiểu đơn giản là thứ tự abc trong bảng chữ cái, trong đó ký tự nào đứng trước trong bảng chữ cái sẽ có thứ tự từ điển nhỏ hơn. Đối với chuỗi ký tự thì thứ tự từ điển của nó so với chuỗi ký tự khác được xác định bằng ký tự khác nhau đầu tiên của 2 xâu. C++
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
2 có sẵn các hàm để thao tác dữ liệu của loại
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
2. Hàm
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
8 là một hàm trong thư viện C được sử dụng để so sánh hai chuỗi theo cách từ điển. cú pháp strcmp()
- Chuỗi đầu vào phải là một mảng
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
5 của Chuỗi kiểu C. Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
6 cũng so sánh các chuỗi ở dạng phân biệt chữ hoa chữ thường.
int strcmp(const char *str1, const char *str2);
Hàm này trả về các giá trị sau theo các trường hợp phù hợp: - Trả về
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
7 nếu cả hai chuỗi giống nhau. - Trả về
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
8 (nhỏ hơn 0) nếu giá trị của ký tự của chuỗi đầu tiên nhỏ hơn so với giá trị của chuỗi đầu vào thứ hai. - Kết quả là
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
9 (lớn hơn 0) khi chuỗi thứ hai lớn hơn khi so sánh.
strcmp() Ví dụ 1Chạy đoạn mã sau:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
Điều này sẽ tạo ra đầu ra sau:
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
0 dẫn đến
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
1. Các giá trị của
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
2 và
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
3 là khác nhau. strcmp() Ví dụ 2Chạy đoạn mã sau:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
Điều này sẽ tạo ra đầu ra sau:
Output
String 1: String Match
String 2: String Match
Both the input strings are equal.
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
0 dẫn đến
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
7. Giá trị của
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
2 và
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
3 giống nhau. 2. Sử dụng hàm so sánh() trong C++C++ có hàm
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
8 tích hợp để so sánh hai chuỗi. so sánh() Cú phápHàm
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
8 so sánh hai chuỗi:
int compare (const string& string-name) const;
Hàm này trả về các giá trị sau theo các trường hợp phù hợp: - Trả về
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
7 nếu cả hai chuỗi giống nhau. - Trả về
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
8 (nhỏ hơn 0) nếu giá trị của ký tự của chuỗi đầu tiên nhỏ hơn so với giá trị của chuỗi đầu vào thứ hai. - Kết quả là
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
9 (lớn hơn 0) khi chuỗi thứ hai lớn hơn khi so sánh.
Ví dụ 1: Sử dụng so sánh()Chạy đoạn mã sau:
# include <iostream>
int main()
{
std::string str_inp1("String Match");
std::string str_inp2("String Match");
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
int res = str_inp1.compare(str_inp2);
if (res == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else if (res < 0)
std::cout << "\nString 1 is smaller as compared to String 2." << std::endl;
else
std::cout << "\nString 1 is greater as compared to String 2." << std::endl;
}
Trong ví dụ này,
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
2 và
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
3 được so sánh với
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
8:
Output
String 1: String Match
String 2: String Match
Both the input strings are equal.
Cả hai chuỗi đều giống nhau về mặt từ điển, vì vậy hàm trả về
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
7. Ví dụ 2: Sử dụng so sánh()Chạy đoạn mã sau:
# include <iostream>
int main()
{
std::string str_inp0("String Match");
std::string str_inp1("String Match");
std::string str_inp2("String Unmatch");
std::cout << "String 1: " << str_inp1 << std::endl;
if (str_inp1.compare(str_inp0) == 0)
std::cout << "\nStrings are equal." << std::endl;
else
std::cout << "\nStrings are not equal." << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (str_inp2.compare(str_inp0) == 0)
std::cout << "\nStrings are equal." << std::endl;
else
std::cout << "\nStrings are not equal." << std::endl;
}
Trong ví dụ này,
Output
String 1: String Match
String 2: String Match
Both the input strings are equal.
7 được so sánh với
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
2:
Output
String 1: String Match
Strings are equal.
Sau đó,
Output
String 1: String Match
String 2: String Match
Both the input strings are equal.
7 được so sánh với
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
3:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
0 Đoạn mã này so sánh trực tiếp một chuỗi với một chuỗi đầu vào khác với hàm
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
8. 3. Toán tử quan hệ trong C++Các toán tử quan hệ trong C++ như
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
0 (bằng kép) và
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
1 (không bằng) có thể hữu ích trong việc so sánh các chuỗi. Toán tử quan hệ Cú phápKiểm tra xem hai giá trị có bằng nhau không:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
1 Kiểm tra xem hai giá trị có khác nhau không:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
2 Ví dụ 1: Sử dụng toán tử == trong C++Chạy đoạn mã sau:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
3 Cung cấp giá trị cho \Chuỗi 1” và \Chuỗi 2”:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
4 Mã này sẽ so sánh hai chuỗi với
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
0. Ví dụ 2: Sử dụng toán tử != của C++Chạy đoạn mã sau:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
5 Cung cấp giá trị cho \Chuỗi 1” và \Chuỗi 2”:
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Unmatch";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
6 Mã này sẽ so sánh hai chuỗi với
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
1. Phần kết luậnTrong bài viết này, bạn đã học các phương pháp so sánh chuỗi trong C++. Điều này bao gồm hàm
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
2 của
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
6, hàm
# include <iostream>
# include <string.h>
int main()
{
const char *str_inp1 = "String Match";
const char *str_inp2 = "String Match";
std::cout << "String 1: " << str_inp1 << std::endl;
std::cout << "String 2: " << str_inp2 << std::endl;
if (strcmp(str_inp1, str_inp2) == 0)
std::cout << "\nBoth the input strings are equal." << std::endl;
else
std::cout << "\nThe input strings are not equal." << std::endl;
}
8 tích hợp sẵn và các toán tử quan hệ (
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
0,
Output
String 1: String Match
String 2: String Unmatch
The input strings are not equal.
1). |