找到 1356 篇文章 关于 C

在 C 程序中按相对顺序打印数组中元素的最后一次出现。

Sunidhi Bansal
更新于 2019-08-22 06:07:00

267 次浏览

给定一个包含元素的数组 a[],任务是打印列表中给定元素的最后一次出现。在这里,我们不仅必须删除重复元素,而且还必须根据元素最后一次出现的顺序维护元素的出现顺序。例如,我们有一个包含 6 个元素的数组,也包含一些重复值,即 {1, 3, 2, 3, 1, 2},因此结果应为 3 1 2。示例输入:a[]={4, 2, 2, 4, 1, 5, 1} 输出:2 4 5 1算法开始 ... 阅读更多

在 C 程序中无需额外空间和修改即可打印链表的反转。

Sunidhi Bansal
更新于 2019-08-22 05:57:17

357 次浏览

任务是从链表的末尾开始打印节点,而不使用额外的空间,这意味着除了指向第一个节点的头指针之外不应该有任何额外的变量。示例输入:10 21 33 42 89 输出:89 42 33 21 10有很多方法可以按反序打印链表,例如递归方法(使用额外空间)、反转链表(需要修改给定的链表)、将元素压入堆栈然后依次弹出并显示元素(需要空间 O(n)),但这些解决方案似乎 ... 阅读更多

在 C 程序中使用 pthread 进行二分查找?

Arnab Chakraborty
更新于 2019-08-20 13:18:47

469 次浏览

我们知道二分查找方法是最合适和有效的排序算法之一。它适用于排序序列。该算法很简单,它只需找到中间的元素,然后将列表分成两部分,然后要么向左子列表移动,要么向右子列表移动。我们知道它的算法。现在我们将看到如何在多线程环境中使用二分查找技术。线程数取决于系统中存在的核心数。让我们看看代码来了解一下。示例#include #define MAX 16 #define MAX_THREAD 4 using namespace ... 阅读更多

在 C 程序中具有相同数量的 1 和 0 的下一个较大数字的二进制表示?

Arnab Chakraborty
更新于 2019-08-20 13:15:25

240 次浏览

假设我们有一个二进制数,它是数字 n 的表示形式。我们必须找到一个比 n 大但最小的数字的二进制表示,并且它也具有相同数量的 0 和 1。因此,如果数字是 1011(十进制为 11),则输出将为 1101(13)。这个问题可以使用下一个排列计算来解决。让我们看看算法来了解一下。算法nextBin(bin) −开始    len := bin 的长度    for i in range len-2, down to 1, do       if bin[i] is 0 and bin[i+1] ... 阅读更多

在 C 程序中根据 CLRS 算法使用向量和队列进行 BFS?

Arnab Chakraborty
更新于 2019-08-20 13:10:19

274 次浏览

在 CLRS 书中,BFS 算法使用向量和队列进行描述。我们必须使用 C++ STL 实现该算法。让我们首先看看算法。算法BFS(G, s) −开始    for each vertex u in G.V - {s}, do       u.color := white       u.d := infinity       u.p := NIL    done    s.color := green    s.d := 0    s.p := NIL    Q := NULL    insert s into Q    while Q is not null, do       u = delete from Q       for ... 阅读更多

在 C 程序中求婚数?

Arnab Chakraborty
更新于 2019-08-20 13:06:54

484 次浏览

这里我们将看到求婚数。这是一对数,其中一个数的真因数之和比另一个数大 1。我们必须找到这些对例如,这对数是 (48, 75)。因此 48 的因数是 {1, 2, 3, 4, 6, 8, 12, 16, 24},总和为 76。类似地,75 的因数是 {1, 3, 5, 15, 25},总和为 49。算法BetrothedPairs (n) −开始    for num in range 1 to n, do       sum := 1       for ... 阅读更多

在 C 程序中鲍姆-斯威特序列?

Arnab Chakraborty
更新于 2019-08-20 14:00:18

129 次浏览

这里我们将看到鲍姆-斯威特序列。此序列是一个二进制序列。如果数字 n 具有奇数个连续的 0,则第 n 位将为 0,否则第 n 位将为 1。我们有一个自然数 n。我们的任务是找到鲍姆-斯威特序列的第 n 项。因此,我们必须检查它是否具有任何长度为奇数的连续的 0 块。如果数字是 4,则该项将为 1,因为 4 是 100。因此它有两个(偶数)个零。算法BaumSweetSeqTerm (G, s) −开始    定义位序列 seq ... 阅读更多

在 C 程序中使用递归函数的辅助空间?

Arnab Chakraborty
更新于 2019-08-20 13:00:00

301 次浏览

这里我们将看到递归函数调用需要多少辅助空间。以及它与普通函数调用有何不同?假设我们有一个如下函数−long fact(int n){    if(n == 0 || n == 1)       return 1;    return n * fact(n-1); }此函数是递归函数。当我们像 fact(5) 这样调用它时,它将在堆栈中存储如下地址−fact(5) ---> fact(4) ---> fact(3) ---> fact(2) ---> fact(1)由于递归函数一次又一次地调用自身,因此地址被添加到堆栈中。因此,如果函数是 ... 阅读更多

在 C 程序中对频率与值相同的元素进行数组范围查询?

Arnab Chakraborty
更新于 2020-07-02 06:56:57

218 次浏览

这里我们将看到一个有趣的问题。我们有一个包含 N 个元素的数组。我们必须执行一个如下查询 Q−Q(start, end) 表示从开始到结束,数字‘p’出现的次数正好为‘p’次的次数。因此,如果数组类似于:{1, 5, 2, 3, 1, 3, 5, 7, 3, 9, 8},并且查询为−Q(1, 8) − 这里 1 出现一次,3 出现 3 次。所以答案是 2Q(0, 2) − 这里 1 出现一次。所以答案是 1算法query(s, e) −开始   ... 阅读更多

在 C 程序中可以刻在矩形中的最大菱形的面积?

Arnab Chakraborty
更新于 2019-08-20 12:53:32

72 次浏览

这里我们将看到一个问题,给定一个矩形。我们需要找到可以内接在该矩形中的最大菱形的面积。示意图如下:矩形的长为'l',宽为'b',所以菱形的面积为:源代码#include #include using namespace std; float area(float l, float b) {    if (l < 0 || b < 0) //如果值是负数,则无效       return -1;    float area = (l*b) /2;    return area; } int main() {    float l = 20.0, b = 7;    cout

广告