在这里,我们将了解选择排序的一些改进。众所周知,选择排序的工作原理是从数组中获取最小或最大元素,并将该元素放在正确的位置。在这种方法中,我们希望以两种方式对数组进行排序。在这里,我们将同时获取最大值和最小值,然后从两端对数组进行排序。让我们看看算法以更好地理解。算法twoWaySelectionSort(arr, n)begin for i := 0, and j := n-1, increase i by 1, and decrease j by 1, until i>=j, do min := minimum ... 阅读更多
在本节中,我们将了解如何使用回溯方法生成 n 位格雷码?n 位格雷码基本上是从 0 到 2^n – 1 的位模式,使得连续的模式仅一位不同。因此,对于 n = 2,格雷码为 (00, 01, 11, 10),十进制等价物为 (0, 1, 3, 2)。该程序将生成格雷码值的十进制等价物。算法generateGray(arr, n, num)begin if n = 0, then insert num into arr return end if generateGray(arr, n-1, ... 阅读更多
在 C 和 C++ 中,有一些函数说明符。函数说明符用于指定函数的属性。C++ 有内联函数说明符。在 C 中,有 _Noreturn 函数说明符。它用于表示某个函数不会返回任何内容。示例 实时演示#include int myAdd(int a, int b){ return a + b; } main() { int x = 10, y = 20; printf("The value is: %d", myAdd(x, y)); }输出The value is: 30如果使用 _Noreturn,它将显示一些警告,并且程序将因某些错误而终止。示例#include _Noreturn int myAdd(int a, int b){ ... 阅读更多
这是一个著名的难题。假设有一栋有 n 层的建筑,如果我们有 m 个鸡蛋,那么我们如何才能找到找到安全掉落鸡蛋而不摔碎的楼层的最小次数呢?有一些重要的要点需要记住 -当鸡蛋从给定楼层掉落时没有摔碎,那么它在任何较低的楼层也不会摔碎。如果鸡蛋从给定楼层掉落时摔碎,那么它在所有较高的楼层都会摔碎。当鸡蛋摔碎时,必须将其丢弃,否则我们可以再次使用它。输入 - ... 阅读更多
在这里,我们将看到欧几里得算法来找到两个数字的 GCD。GCD(最大公约数)可以使用欧几里得算法轻松找到。有两种不同的方法。一种是迭代的,另一种是递归的。这里我们将使用递归欧几里得算法。算法EuclideanAlgorithm(a, b)begin if a is 0, then return b end if return gcd(b mod a, a) end示例 实时演示#include using namespace std; int euclideanAlgorithm(int a, int b) { if (a == 0) return b; return euclideanAlgorithm(b%a, a); } main() { int a, b; cout > a >> b; cout