c++
manazana
这个作者很懒,什么都没留下…
展开
-
排序算法的实现
设一组数据,分别用直接插入排序法、冒泡排序法、快速排序法、简单选择排序法、堆排序法、归并排序法进行排序。#include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include <io.h>#include <math.h>#include <time.h>#define OK 1#define ERROR原创 2021-09-09 12:11:19 · 176 阅读 · 0 评论 -
练习查找表
1)用二分查找法对查找表进行查找;2)建立二叉排序树并对该树进行查找;#include "stdio.h"#include "stdlib.h"#include "math.h"#include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数.原创 2021-09-12 23:42:18 · 309 阅读 · 1 评论 -
图的建立、遍历及应用
建立图的邻接矩阵和邻接表;以邻接表作存储结构,分别对图输出深度优先搜索和广度优先搜索遍历序列;步骤:1.在键盘上输入,建立一个无向图此无向图的结构如下图:2.输出广度、深度优先搜索遍历序列#include <bits/stdc++.h>#define MAXVEX 100#define INFINITY -1int visited[MAXVEX]={0};typedef struct{ char vexs[MAXVEX]; int .原创 2021-09-11 23:40:23 · 1186 阅读 · 1 评论 -
建立带表头结构的单链线性表,归并La和Lb得到新的单链线性表Lc
逆位序(插在表头)输入n个元素的值,建立带表头结构的单链线性表L;正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表;已知单链线性表La和Lb的元素按值非递减排列,归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列。/* algo2-5.c 实现算法2.11、2.12的程序 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include原创 2021-09-08 23:22:02 · 2050 阅读 · 0 评论 -
线性表的单链表存储结构
线性表的单链表存储结构struct LNode{ElemType data;LNode *next;};typedef LNode *LinkList;编程实现线性链表的基本操作(12个)Status InitList(LinkList &L)Status DestroyList(LinkList &L)Status ClearList(LinkList L)Status ListEmpty(LinkList L)in...原创 2021-09-10 22:51:18 · 861 阅读 · 0 评论 -
顺序表示的线性表的基本操作实现
线性表的动态分配顺序存储结构线性表存储空间的初始分配量 10线性表存储空间的分配增量 2编程实现顺序表示的线性表的基本操作(12个)Status InitList(SqList &L)Status DestroyList(SqList &L)Status ClearList(SqList &L)Status ListEmpty(SqList L)int ListLength(SqList L)Status GetElem(SqList L,in原创 2021-09-07 16:02:45 · 523 阅读 · 0 评论 -
将所有在线性表Lb中但不在La中的数据元素插入到La中
将所有在线性表Lb中但不在La中的数据元素插入到La中。主程序验证中,La和Lb中原始元素自行创建,屏幕结果输出中要求显示La和Lb中原始元素和最终插入结果。#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int i=0,j=0,k=0,La_len,Lb_len,Lc_len; char La[]= {3,5,8,11}; char Lb[]= {原创 2021-09-07 16:02:33 · 1538 阅读 · 0 评论 -
归并La和Lb得到新的线性表Lc
已知线性表La和Lb中的数据元素按值非递减排列, 归并La和Lb得到新的线性表Lc,Lc的数据元素也按值非递减排列。主程序验证中,La和Lb中原始元素自行创建,屏幕结果输出中要求显示La和Lb中原始元素和最终归并结果。#include<string.h>#include<ctype.h>#include<malloc.h> /* malloc()等 */#include<limits.h> /* INT_MAX等 */#include<st原创 2021-09-05 13:48:52 · 1611 阅读 · 0 评论 -
快速排序算法
Description利用快速排序算法实现递增排序。Input输入三组整数Output输出递增的整数序列Sample Input2 1 5 4 3 6 754 45 63 21 15100 50 45 60 20 10Sample Output1 2 3 4 5 6 715 21 45 54 6310 20 45 50 60 100//快速排序算法#include<bits/stdc++.h>using namespace std;#define T原创 2021-09-04 12:26:48 · 149 阅读 · 0 评论 -
简单选择排序
Description以单链表为存储结构实现简单选择排序的算法。Input输入一组整数Output输出递减的整数序列Sample Input2 1 5 4 3Sample Output5 4 3 2 1//简单选择排序#include<bits/stdc++.h>using namespace std;#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define LIST_INI...原创 2021-09-03 12:33:44 · 121 阅读 · 0 评论 -
顺序表折半查找
Description创建一个一维数组,指定该一维数组的大小n,输入数组的n个元素,首先按指定算法(直接插入)对数组排序,输出排序结果,然后在排序的基础上,输入要查找的数值X,利用“折半法”查找其关键字等于X 的数据元素,若找到,则输出该元素在排序后表中的位置(1...n),否则为0,并输出查找次数。Input第一行:输入一个整数n表示数组的长度(1<n<1000)第二行:输入n个整数,整数之间用空格分隔第三行:输入一个整数X为要查找的数值Output第一行:输出n个排序后..原创 2021-09-03 12:33:33 · 3038 阅读 · 0 评论 -
顺序表查找
Description在一个顺序表中查找某个关键字是否存在。 (算法9.1的实现)Input输入为三组数据,每组为两行数据,每组中第一行为建立查找的顺序表,第二行是要查找的关键字。Output若找到关键字,则输出关键字在表中的位置,否则输出0.Sample Input3 4 5 6 7103 4 5 6 754 5 6 7 87Sample Output034//顺序表查找#include <stdio.h>#include <stdl..原创 2021-09-03 12:33:19 · 376 阅读 · 0 评论 -
串操作练习
Description已知三个字符串分别为s="ababababcaabcbcaaaaaa",s1="caab", s2="bcb"。利用所学定长顺序存储结构的串操作得到结果串为:s3="caabcbcaaaaaacaaaaaa"。Input无Output输出为一行(caabcbcaaaaaacaaaaaa)。Sample Outputcaabcbcaaaaaacaaaaaa//串操作练习#include <bits/stdc++.h> using namespac原创 2021-09-03 12:32:42 · 416 阅读 · 0 评论 -
子串判断,判断t是否为s的子串。如果是,输出子串所在位置(第一个字符)。
Description设s、t为两个字符串,利用定长顺序存储结构的串操作,判断t是否为s的子串。如果是,输出子串所在位置(第一个字符)。Input输入为两行,第一行为s串,第二行为t串Output输出为一行(子串所在位置)。Sample InputabcdefghijkcdeSample Output3//子串判断 #include <bits/stdc++.h> using namespace std; // 函数结果状态代码 #define TRU原创 2021-09-03 12:31:34 · 4548 阅读 · 1 评论 -
二叉树应用
Description已知一棵二叉树按顺序存储结构存储。按输入结点数和各结点元素值,创建一个一维数组,存储二叉树,并计算叶子和非叶子结点数。Input输入为两行第一行:二叉树的结点数n(1<n<100)第二行:输入一棵二叉树各结点(含虚结点)的值。其中0表示虚结点(不存在此结点),#表示结束标志。Output输出为两行第一行:输出叶子结点的个数;第二行:输出非叶子结点的个数。Sample Input6A B C 0 D E 0 0 0 F #Sample Out原创 2021-09-03 12:31:07 · 620 阅读 · 1 评论 -
求串长,输入一个字符串,求长度并输出。
Description建立字符串的定长存储结构,输入一个字符串,求长度并输出。Input输入一个字符串。Output输出长度。Sample InputHello world!Sample Output12//求串长 #include <bits/stdc++.h> using namespace std; // 函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR ..原创 2021-09-03 12:30:42 · 3407 阅读 · 0 评论 -
队列的输入输出操作
Description建立队列的顺序存储结构,进行入队和出队的操作,并输出队列中的数据元素。Input多组输入,每组输入为两行,第一行输入一个整数,为输入数据的个数,第二行输入要输入的数据(整数).Output每行输出是队列里面的数据元素。Sample Input51 2 3 4 5312 3 90Sample Output1 2 3 4 512 3 90//队列的输入输出操作 #include <bits/stdc++.h>#define TRUE原创 2021-09-03 12:30:00 · 6914 阅读 · 2 评论 -
栈操作,建立栈的顺序存储结构,实现输入数据(入栈操作)和输出数据(出栈操作)
Description建立栈的顺序存储结构,实现输入数据(入栈操作)和输出数据(出栈操作)。(要求利用push和pop等操作实现)Input输入数据一行,按照输入顺序进栈。Output输出数据一行,按照后进先出的原则输出栈中全部数据Sample Input1 2 3 4 5Sample Output5 4 3 2 1//栈操作 #include <bits/stdc++.h>#define TRUE 1#define FALSE 0#define ..原创 2021-09-03 12:29:41 · 1860 阅读 · 0 评论 -
在链表L中删除全部值为e的数据元素
Description创建一个链表(有头结点),指定该链表的大小n,输入链表的n个元素,创建链表,输入要删除的值e,将链表L中所有值为e的元素删除,并输出删除元素后的链表。Input仅有一组测试数据第一行:输入一个整数n表示链表的长度(1<n<1000)第二行:输入n个整数,整数之间用空格分隔第三行:输入一个整数e表示要删除值Output输出剩余的整数,用空格间隔,注意:最后一个输出的整数后面没有空格!!!Sample Input643 23 56 66 56 68原创 2021-09-02 16:56:45 · 1143 阅读 · 0 评论 -
有序顺序线性表合并
Description已知顺序线性表La和Lb的元素按值非递减排列(例如:La=1,2,3,4,5; Lb=2,4,6,8,10)归并La和Lb得到新的顺序线性表Lc,Lc的元素也按值非递减排列(要求利用线性表的顺序表示方法及相关操作实现)Input输入为两行,第一行为La,第二行为 Lb。Output输出为三行,第一行为La,第二行为 Lb, 第三行为Lc。Sample Input1 2 3 4 52 4 6 8 10Sample OutputLa= 1 2 3 4 5L.原创 2021-09-03 12:28:48 · 1324 阅读 · 0 评论 -
找数组中行最大值,列最小的值
Description给定多组数据矩阵,找出每个矩阵(即二维数组)中的元素,该元素是所在行最大数,是所在列最小数,也可能不存在。Input第一行是数据矩阵数N,而后是第一组矩阵的两个整数n,m表示二维数组的行数和列数。然后是该组矩阵的n行 数据,每行m个整数。……Output输出一个整数,及所在行和列,或者"NO"Sample Input23 31 2 32 3 43 4 52 212 3423 11Sample Output3(0,2)NO//找数原创 2021-08-30 20:31:11 · 1568 阅读 · 1 评论