13K+ 阅读量
排序算法是一种将列表中的元素按特定顺序排列的算法。最常用的顺序是数字顺序和字典顺序。基数排序是一种非比较排序算法。基数排序算法是最适合无序列表的算法。它通过首先对相同位值的各个数字进行分组来对元素进行排序。基数排序的思想是从最低有效位 (LSD) 到最高有效位 (MSD) 按其升序/降序逐位排序。基数排序是一种多次用于字母排序的小方法…… 阅读更多
3K+ 阅读量
C 语言中的模式匹配 - 我们需要查找一个字符串是否出现在另一个字符串中,例如,字符串“algorithm”出现在字符串“naive algorithm”中。如果找到,则显示其位置(即它出现的位置)。我们倾向于创建一个接收两个字符数组并返回匹配发生时位置的函数,否则返回 -1。输入:txt = "HERE IS A NICE CAP" pattern = "NICE" 输出:模式在索引 10 处找到输入:txt = "XYZXACAADXYZXYZX" pattern = "XYZX" 输出:模式在索引 0 处找到 模式在…… 阅读更多
7K+ 阅读量
569 阅读量
给定一个非负整数数组,表示从该元素可以向前跳跃的最大步数。指针最初位于数组的第一个索引 [0 索引] 处。您的目标是以最少的步数到达数组的最后一个索引。如果无法到达数组的末尾,则打印最大整数。朴素的方法是从初始 {第一个} 元素开始,并递归调用所有可从第一个元素访问的元素。到达末尾的最小跳跃范围…… 阅读更多
765 阅读量
在这里,我们将用 C 语言解决最小成本路径问题。该含义是在一个二维矩阵上完成的,其中每个单元格都有一个旅行成本。我们必须找到从左上角到右下角的最小旅行成本路径。您只能从给定单元格向下和向右遍历较低的单元格。为了解决这个问题,动态规划比递归更适合。给定成本矩阵 cost[ ][ ] 和一个位置 (m, n),我们必须编写一个函数,该函数返回从 (0, ... 阅读更多
445 阅读量
问题陈述了如果 scanf 后面跟着 fgets()/gets()/scanf() 会有什么样的工作或输出。fgets()/gets() 后面跟着 scanf()示例 实时演示#include int main() { int x; char str[100]; scanf("%d", &x); fgets(str, 100, stdin); printf("x = %d, str = %s", x, str); return 0; }输出输入:30 字符串输出:x = 30, str =解释fgets() 和 gets() 用于在运行时从用户获取字符串输入。在上面的代码中,当我们运行输入整数时,它不会获取字符串值,因为当我们在整数后输入换行符时…… 阅读更多
6K+ 阅读量
进程同步是一种克服对共享数据并发访问问题的技术,这可能导致数据不一致。协作进程是可以影响或被其他进程影响的进程,这将导致进程数据的不一致,因此需要进程同步来保证数据的一致性。临界区问题每个进程都有一个保留的代码段,称为临界区。在此部分中,进程可以更改公共变量、更新表、写入文件等。关于临界区需要注意的关键点是,当一个进程在其临界区执行时,…… 阅读更多
551 阅读量
给定的任务是打印编写的 C 程序本身。我们必须编写一个 C 程序,该程序将打印自身。因此,我们可以使用 C 中的文件系统来打印我们正在编写代码的文件的内容,例如,我们正在“code 1.c”文件中编写代码,因此我们以读取模式打开该文件并读取文件的所有内容,并在输出屏幕上打印结果。但是,在以读取模式打开文件之前,我们必须知道我们正在编写代码的文件名。所以,我们…… 阅读更多
8K+ 阅读量
给定 n 个进程及其相应的突发时间和时间片,任务是找到平均等待时间和平均周转时间并显示结果。什么是循环调度?循环调度是一种 CPU 调度算法,专门为分时系统设计。它更像是 FCFS 调度算法,但有一个变化,即在循环调度中,进程受时间片大小的限制。一个小的单位时间称为时间片或时间片。时间片可以从 10 到 100 毫秒不等。CPU 将就绪队列视为…… 阅读更多
410 阅读量
优先级队列是一种队列类型,其中元素根据分配给它们的优先级插入或删除,其中优先级是一个整数值,可以介于 0-10 之间,其中 0 表示具有最高优先级的元素,10 表示具有最低优先级的元素。实现优先级队列遵循两条规则:具有最高优先级的數據或元素将在具有最低优先级的數據或元素之前执行。如果两个元素具有相同的优先级,则它们将按照添加到…… 阅读更多