在该程序中,实现了在10个元素中查找20,用了顺序查找方法和折半查找方法。
2021-12-27 14:45:15 656B 数据结构 顺序查找 折半查找
1
直接插入、折半插入、冒泡、快速、简单选择等排序方法 用c语言实现 代码运行正常 不会有任何的问题
2021-12-25 15:26:17 6KB c语言
1
数据结构及算法C语言版。严蔚敏版。VC6运行通过,这个是源代码CPP文件,包含顺序线性表、单链表的插入、删除、查找。包含监视哨查找,折半查找,直接插入排序,希尔排序,冒泡排序,快速排序,选择排序。里面包含超大量的注释,包括对VC6的语法解释和算法的解释和理解。具体效果可以看 http://download.csdn.net/detail/changechange/8236207 我上次上传的 EXE demo,带输入输出,能与用户交互。在运行的时候会把整个运算的过程都显示出来。摘录代码如下://数据结构 上机第一次 栈应用,转换进制题目。 //请用每一个cpp作为一个项目,不要把多个cpp放到同一个项目中,因为我为每个cpp都定义了main。 //这个教材上没有,只能自己补全了 #include using namespace std; //p10 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; //下面这行书上没找到,自己补的。 typedef int SElemType; //p46书上的。 #define STACK_INIT_SIZE 100 //定义最初申请的内存的大小 #define STACKINCREMENT 10 //每一次申请内存不足的时候扩展的大小 typedef struct { SElemType *base; //在栈构造之前和销毁之后,base的值为null SElemType *top; //栈顶指针 int stacksize; //当前已分配的存储空间,以元素为单位 }SqStack; //定义顺序栈别名。 //构造一个空栈S Status InitStack(SqStack &S) { // 参考之前的 List.cpp中队malloc的解释。 S.base=(SElemType *) malloc(STACK_INIT_SIZE * sizeof (SElemType)); if (!S.base) exit(OVERFLOW); // 存储分配失败 S.top = S.base; //初始时栈顶等于栈低 S.stacksize = STACK_INIT_SIZE; //初始栈容量 return OK; } //end of InitStack //插入元素e为新的栈顶元素 Status Push(SqStack &S, SElemType e) { if (S.top - S.base >= S.stacksize) // 栈满,追加存储空间 { S.base = (SElemType *) realloc(S.base, //原栈底指针 (S.stacksize + STACKINCREMENT) * sizeof (SElemType)); //新大小 if (!S.base) exit(OVERFLOW); // 存储分配失败 //调整栈顶的位置 S.top = S.base + S.stacksize; //修改栈大小为新的大小 S.stacksize += STACKINCREMENT; } //*符号为求值符。 *S.top++ = e; //先把e压入栈顶,S.top再增1指向栈顶元素e的下一个位置 return OK; } //end of Push // 若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR Status Pop(SqStack &S, SElemType &e) { if (S.top == S.base) //栈顶=栈底表示空栈,如果空栈,报错 return ERROR; e = *--S.top; //S.top先减1指向栈顶元素,再取值,赋值给e用于返回。 return OK; } //这个书上没有,自己加的 //书上没有,自己写的,用来处理每一个元素的data Status PrintEach(SElemType e){ cout<
2021-12-19 23:48:06 14KB 算法 数据结构 严蔚敏版
1
七种排序算法(包括直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,归并排序) 还有两道题 1./*设计并实现一个有效的对n个整数重排的算法,使得所有负数位于非负数之前,给出算法的性能分析*/ 2./*试给出一个同时找到n个元素中最大元素与最小元素的有效算法,并说明理由*/
1
折半查找 (1)从键盘输入上述8个整数5 ,14 ,18 ,21 ,23 ,29 ,31 ,35,存放在数组bub[8]中,并输出其值。 (2)从键盘输入21,查找是否存在该数据元素,若存在,则输出该数据元素在表中的位置,否则给出查找失败的信息。 (3)从键盘输入25,查找是否存在该数据元素,若存在,则输出该数据元素在表中位置,否则给出查找失败的信息。
1
包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组长度区间范围内。
2021-12-10 22:40:57 3KB 排序算法/折半查找
1
数据结构实验恢复好的好的天河体育华图教育 用途广泛沟通好的都挺好听氧化铁红有好有坏教育局规划分局依据应用统计
2021-12-09 23:21:30 3KB 数据结构
1
数据结构实验报告
2021-12-09 17:03:37 245KB 数据结构实验报告
本文实例为大家分享了C语言实现顺序表的顺序查找和折半查找的具体代码,供大家参考,具体内容如下 顺序查找: #include using namespace std; int SeqSearch(int r[],int n,int k) { r[0]=k;//下标0用作哨兵存放要查询的数 int i=n; while(r[i]!=k)//不用判断下标i是否越界 { i--; } return i; } int main() { int n; cout<<"请输入数组元素个数:"<>n; int a[n+1]; cout<<
2021-12-09 16:11:36 34KB c语言 顺序查找 顺序表
1
11-顺序查找与折半查找.cpp
2021-12-07 19:13:54 2KB 数据结构
1