[libc++] Granularize algorithm includes

Reviewed By: Mordante, ldionne, Quuxplusone, #libc, #libc_abi

Spies: #libc_vendors, libcxx-commits, miyuki

Differential Revision: https://reviews.llvm.org/D119667

NOKEYCHECK=True
GitOrigin-RevId: 2e2f3158c604adb8401a2a44a03f58d4b6f1c7f9
diff --git a/include/array b/include/array
index 8d6a3b5..e55ee43 100644
--- a/include/array
+++ b/include/array
@@ -108,11 +108,14 @@
 
 */
 
+#include <__algorithm/equal.h>
+#include <__algorithm/fill_n.h>
+#include <__algorithm/lexicographical_compare.h>
+#include <__algorithm/swap_ranges.h>
 #include <__config>
 #include <__debug>
 #include <__tuple>
 #include <__utility/unreachable.h>
-#include <algorithm>
 #include <iterator>
 #include <stdexcept>
 #include <type_traits>