Deque rỗng c ++

bool empty() const;
(cho đến C++11)_______1_______(kể từ C++11)
(cho đến C++20)
[[nodiscard]] bool empty() const noexcept;
(kể từ C++20)

Kiểm tra xem vùng chứa không có phần tử nào, i. e. liệu begin() == end()

Thông số

(không ai)

giá trị trả về

true nếu thùng rỗng, false ngược lại

phức tạp

hằng số

Thí dụ

Đoạn mã sau sử dụng empty để kiểm tra xem một std::deque có chứa bất kỳ phần tử nào không

#include 
#include 
 
int main()
{
    std::deque numbers;
    std::cout << std::boolalpha;
    std::cout << "Initially, numbers.empty(): " << numbers.empty() << '\n';
 
    numbers.push_back(42);
    numbers.push_back(13317); 
    std::cout << "After adding elements, numbers.empty(): " << numbers.empty() << '\n';
}

đầu ra

Initially, numbers.empty(): true
After adding elements, numbers.empty(): false

Xem thêm

trả về số phần tử
(chức năng thành viên công khai) kiểm tra xem vùng chứa có trống không
(mẫu chức năng)

Kỹ thuật thứ hai không nhanh hoặc ngắn gọn như các kỹ thuật khác, nhưng nó có ưu điểm là rõ ràng cho những độc giả có thể không biết về giá trị boolean của vùng chứa

Những cách khác là có thể. Ví dụ: lập chỉ mục với d[0] tăng IndexError cho một chuỗi trống. Tôi đã thấy điều này được sử dụng một vài lần

Hàm Deque empty() trong C++ kiểm tra container có rỗng hay không. Nếu vùng chứa trống, nó trả về 1 nếu không thì 0

cú pháp

tham số

Nó không chứa bất kỳ tham số nào

giá trị trả về

Nó không trả về bất kỳ giá trị nào

ví dụ 1

Hãy xem một ví dụ đơn giản khi deque không trống

đầu ra

Trong ví dụ này, hàm empty() xác định rằng deque không trống. Do đó, nó trả về false

Hàng đợi Deque hoặc Double Ended là các bộ chứa chuỗi có tính năng mở rộng và thu hẹp ở cả hai đầu. Chúng tương tự như vectơ, nhưng hiệu quả hơn trong trường hợp chèn và xóa các phần tử ở cuối và cả ở đầu. Không giống như vectơ, phân bổ lưu trữ liền kề có thể không được đảm bảo trong deque

boong tàu. trống rỗng()

empty() function is used to check if the deque container is empty or not. This is an inbuilt function from C++ Standard Template Library(STL). This function belongs to the header file. The function either returns true or false, depending on whether the deque is empty or not.
cú pháp.  

dequename.empty()

lợi nhuận. Đúng, nếu bộ bài trống. Sai, ngược lại

ví dụ.  

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False

Lỗi và ngoại lệ

  • Hiển thị lỗi nếu tham số được truyền.  
  • Không hiển thị đảm bảo ném ngoại lệ

CPP




Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
0

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
1

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
2

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
3

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
4
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
5
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
6

 

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
7

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
9

False
0

False
1
False
2
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
False
4

False
1
False
6

 

False
1
False
8

False
1
Input : 1, 8, 3, 6, 2
Output: 20
0
Input : 1, 8, 3, 6, 2
Output: 20
1

Input : 1, 8, 3, 6, 2
Output: 20
2_______27_______3
Input : 1, 8, 3, 6, 2
Output: 20
4
Input : 1, 8, 3, 6, 2
Output: 20
5

False
1____27_______7

False
1
Input : 1, 8, 3, 6, 2
Output: 20
9
False
0

Input : 1, 8, 3, 6, 2
Output: 20
2_______27_______3
20
3
Input : 1, 8, 3, 6, 2
Output: 20
5

False
1____27_______7

False
1____40_______8
20
9

Input : 1, 8, 3, 6, 2
Output: 20
7

Đầu ra

False

Độ phức tạp về thời gian. Ô(1)

Không gian phụ trợ. Ô(1)

Ứng dụng. boong tàu. trống rỗng()

Cho một dãy số nguyên, tìm tổng của tất cả các số nguyên.  

Input : 1, 8, 3, 6, 2
Output: 20

thuật toán.  
1. Kiểm tra xem deque có trống không, nếu không, hãy thêm phần tử phía trước vào một biến được khởi tạo là 0 và bật phần tử phía trước.  
2. Lặp lại bước này cho đến khi bộ bài trống.  
3. In giá trị cuối cùng của biến

CPP




Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
0

dequename.size()
2

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
2

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
3

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
4
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
5
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
6

 

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
7

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
9

False
0

False
1____6_______8
Input :   mydeque = 0, 1, 2
          mydeque.size();
Output :  3
 
Input :   mydeque = 0, 1, 2, 3, 4, 5
          mydeque.size();
Output :  6
4

False
1
False
2
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
False
4

False
1____69_______0

False
1____69_______2

False
1____69_______4

False
1____69_______6

False
1____69_______8

False
1
Input : 1, 8, 3, 6, 2
Output: 20
0

 

False
1____27_______2
Input : 1, 8, 3, 6, 2
Output: 20
3

Input : 1, 8, 3, 6, 2
Output: 20
2______27_______5

Input : 1, 8, 3, 6, 2
Output: 20
2______27_______7

False
1____27_______7

False
1
20
1

False
1____40_______8
20
9

Input : 1, 8, 3, 6, 2
Output: 20
7

Đầu ra

20

Độ phức tạp về thời gian. Ô(1)

Không gian phụ trợ. Ô(1)

boong tàu. kích thước()

size() function is used to return the size of the deque container or the number of elements in the deque container. This is an inbuilt function from C++ Standard Template Library(STL). This function belongs to the header file. The function either returns a number demonstrating the total elements the deque holds at that instance.
cú pháp.  

dequename.size()

lợi nhuận. Số phần tử trong vùng chứa

ví dụ.  

Input :   mydeque = 0, 1, 2
          mydeque.size();
Output :  3
 
Input :   mydeque = 0, 1, 2, 3, 4, 5
          mydeque.size();
Output :  6

Lỗi và ngoại lệ

  • Hiển thị lỗi nếu một tham số được thông qua.  
  • Không hiển thị đảm bảo ném ngoại lệ

CPP




Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
0

20
7

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
2

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
3

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
4
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
5
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
6

 

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
7

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
9

False
0

False
1____6_______8
Input :   mydeque = 0, 1, 2
          mydeque.size();
Output :  3
 
Input :   mydeque = 0, 1, 2, 3, 4, 5
          mydeque.size();
Output :  6
4

False
1
False
2
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
False
4

False
1____69_______0

False
1____69_______2

False
1____69_______4

False
1____69_______6

False
1____69_______8

False
1
Input : 1, 8, 3, 6, 2
Output: 20
0

 

False
1
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
27

 

False
1____40_______8
20
9

Input : 1, 8, 3, 6, 2
Output: 20
7

Đầu ra

5

Độ phức tạp về thời gian. Ô(1)

Không gian phụ trợ. Ô(1)

Ứng dụng. boong tàu. kích thước()

Cho một dãy số nguyên, tìm tổng của tất cả các số nguyên.  

Input : 1, 8, 3, 6, 2
Output: 20

thuật toán.  
1. Kiểm tra xem kích thước của deque có bằng 0 không, nếu không, hãy thêm phần tử phía trước vào một biến được khởi tạo là 0 và bật phần tử phía trước.  
2. Lặp lại bước này cho đến khi kích thước deque trở thành 0.  
3. In giá trị cuối cùng của biến

CPP




Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
0

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
33

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
2

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
3

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
4
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
5
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
6

 

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
7

Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
9

False
0

False
1____6_______8
Input :   mydeque = 0, 1, 2
          mydeque.size();
Output :  3
 
Input :   mydeque = 0, 1, 2, 3, 4, 5
          mydeque.size();
Output :  6
4

False
1
False
2
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
8
False
4

False
1____69_______0

False
1____69_______2

False
1____69_______4

False
1____69_______6

False
1____69_______8

False
1
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
61

 

False
1____27_______2
Input :   mydeque
          mydeque.empty();
Output :  True
 
Input :   mydeque = 1, 2, 3
          mydeque.empty();
Output :  False
64

Input : 1, 8, 3, 6, 2
Output: 20
2______27_______5

Input : 1, 8, 3, 6, 2
Output: 20
2______27_______7

False
1____27_______7

False
1
20
1

False
1____40_______8
20
9

Input : 1, 8, 3, 6, 2
Output: 20
7

Đầu ra

20

Độ phức tạp về thời gian. Ô(1)

Không gian phụ trợ. Ô(1)

Ghi chú. Về cơ bản, hàm empty() kiểm tra xem size() của deque có bằng 0 hay không.  

Hãy để chúng tôi xem sự khác biệt ở dạng bảng -

boong tàu. rỗng() deque. kích thước () 1. Nó được sử dụng để kiểm tra xem deque container có trống không. Nó được sử dụng để trả về số phần tử trong deque container. 2

Cú pháp của nó là -

trống rỗng();

Cú pháp của nó là -

kích thước();

3. Kiểu trả về của nó là boolean. Kiểu trả về của nó là số nguyên. 4. Độ phức tạp của nó là không đổi. Độ phức tạp của nó là không đổi. 5. Tính hợp lệ của trình lặp của nó không thay đổi. Tính hợp lệ của trình lặp của nó không thay đổi

Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên.  

Là trống trong deque?

deque. trống rỗng() . Đây là một chức năng sẵn có từ Thư viện mẫu chuẩn C++ (STL). Chức năng này thuộc về tệp tiêu đề . Hàm trả về đúng hoặc sai, tùy thuộc vào việc deque có trống hay không. empty() function is used to check if the deque container is empty or not. This is an inbuilt function from C++ Standard Template Library(STL). This function belongs to the header file. The function either returns true or false, depending on whether the deque is empty or not.

Deque có bị xóa không?

phương thức remove() được sử dụng để xóa phần tử ở đầu Deque . Thông số. Phương thức không nhận bất kỳ tham số nào. Giá trị trả về. Phương thức này trả về phần tử có mặt ở phần đầu của Deque. ngoại lệ. Phương thức ném NoSuchElementException được ném nếu deque trống.

Liệu deque loại bỏ từ phía trước hoặc phía sau?

Giá trị bị xóa khỏi deque ngay từ đầu và kích thước vùng chứa giảm đi 1. Nếu bộ bài trống, nó hiển thị hành vi không xác định.

Deque được lưu trữ trong bộ nhớ như thế nào?

Một deque STL được triển khai sử dụng mảng dữ liệu hoặc mảng con trỏ tới khối bộ nhớ thay vì danh sách được liên kết. Tùy thuộc vào yêu cầu lưu trữ, số lượng khối và kích thước của mảng con trỏ thay đổi linh hoạt. Các khối bộ nhớ này chứa các mục ở các vị trí liền kề.