Program #include <stdio.h> #include <stdbool.h> #define MAX 10 int list[MAX] = {1,8,4,6,0,3,5,2,7,9}; void display(){ int i; printf("["); // navigate through all items for(i = 0; i < MAX;
快速排序是一种高效的排序算法,它基于将数据阵列划分为更小的数组。 一个大型数组被分成两个数组,其中一个数组的值小于指定的值,比如pivot,根据该数组创建分区,另一个数组保存的值大于数据透视值。 用C实现 (Implementation in C) #include <stdio.h> #include <stdbool.h> #define MAX 7 int intArray[MAX] = {
Shell排序是一种高效的排序算法,基于插入排序算法。 该算法避免了大的移位,如插入排序的情况,如果较小的值是最右边的并且必须移动到最左边。 用C实现 (Implementation in C) #include <stdio.h> #include <stdbool.h> #define MAX 7 int intArray[MAX] = {4,6,3,2,1,9,7}; void printl
合并排序是一种基于分而治之技术的排序技术。 在最坏情况下的时间复杂度为Ο(n log n)时,它是最受尊敬的算法之一。 用C实现 (Implementation in C) 我们将在这里看到C编程语言中合并排序的实现 - #include <stdio.h> #define max 10 int a[11] = { 10, 14, 19, 26, 27, 31, 33, 35, 42, 44, 0
选择排序是一种简单的排序算法。 这种排序算法是一种就地比较算法,其中列表分为两部分,左端的排序部分和右端的未排序部分。 最初,排序部分为空,未排序部分为整个列表。 用C实现 (Implementation in C) #include <stdio.h> #include <stdbool.h> #define MAX 7 int intArray[MAX] = {4,6,3,2,1,9,7};
这是一种基于比较的就地排序算法。 这里,维护一个始终排序的子列表。 例如,维护数组的下半部分以进行排序。 要在此已排序的子列表中“插入”的元素必须找到其适当的位置,然后将其插入其中。 因此名称插入排序。 用C实现 (Implementation in C) #include <stdio.h> #include <stdbool.h> #define MAX 7 int intArray[MAX]
我们将在这里看到C编程语言中bubble sort的实现。 用C实现 (Implementation in C) #include <stdio.h> #include <stdbool.h> #define MAX 10 int list[MAX] = {1,8,4,6,0,3,5,2,7,9}; void display() { int i; printf("["); //
哈希表是以关联方式存储数据的数据结构。 在哈希表中,数据以数组格式存储,其中每个数据值都有自己唯一的索引值。 如果我们知道所需数据的索引,则访问数据变得非常快。 用C实现 (Implementation in C) #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> #define SIZE
插值搜索是二进制搜索的改进变体。 该搜索算法适用于所需值的探测位置。 为使此算法正常工作,数据收集应采用有序和均匀分布的形式。 它的运行时复杂性是log 2 (log 2 n) 。 用C实现 (Implementation in C) #include<stdio.h> #define MAX 10 // array of items on which linear search will be
二进制搜索是一种快速搜索算法,运行时复杂度为Ο(log n)。 这种搜索算法的工作原则是分而治之。 为使此算法正常工作,数据收集应采用排序形式。 用C实现 (Implementation in C) #include <stdio.h> #define MAX 20 // array of items on which linear search will be conducted. int i
这里我们介绍C语言中线性搜索的实现。 程序的输出在代码之后给出。 线性搜索程序 #include <stdio.h> #define MAX 20 // array of items on which linear search will be conducted. int intArray[MAX] = {1,2,3,4,6,7,9,11,12,14,15,16,17,19,33,34,43,4
我们将在这里看到C编程语言中的堆栈实现。 您可以通过单击Try-it按钮来尝试该程序。 要了解堆栈的理论方面,请单击访问上一页。 用C实现 (Implementation in C) #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> #define MAX 6 int intArray[M
Infix符号对于人类来说更容易阅读和理解,而对于像计算机这样的电子机器,postfix是解析的最佳表达形式。 我们将在这里看到一个程序,用于将中infix符号转换和评估为postfix表示法 - 例子 (Example) #include<stdio.h> #include<string.h> //char stack char stack[25]; int top = -1; void
我们将在这里看到C编程语言中的堆栈实现。 您可以通过单击Try-it按钮来尝试该程序。 要了解堆栈的理论方面,请单击访问上一页。 用C实现 (Implementation in C) #include <stdio.h> int MAXSIZE = 8; int stack[8]; int top = -1; int isempty() { i
圆形链接列表是链接列表的变体,其中第一个元素指向最后一个元素,最后一个元素指向第一个元素。 单链表和双链表都可以制成循环链表。 用C实现 (Implementation in C) #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> struct node { int data;