自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 树与二叉树——路径

题目:假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点,编写函数 path,计算root到 node 之间的路径,(该路径包括root结点和 node 结点)。path 函数声明如下:bool path(BiTNode* root, BiTNode* node, Stack* s);其中,root指向二叉树的根结点,node指向二叉树中的另一结点,s 为已经初始化好的栈,该栈用来保存函数所计算的路径,如正确找出路径,则函数返回 true,此时root在栈.

2021-09-16 21:37:58 451 2

原创 先序遍历(icoding)

代码仅供参考,望多多思考题目:已知二叉树按照二叉链表方式存储,利用栈的基本操作写出先序遍历非递归形式的算法:void pre_order(BiTree root);在遍历过程中,pre_order函数需要调用 visit_node 函数来实现对结点的访问,该函数声明如下:void visit_node(BiTNode *node);二叉树的相关定义如下:typedef int DataType;typedef struct Node{ DataType data

2021-08-04 12:19:03 637

原创 十字链表(icoding)

代码仅供参考,望多多思考题目:十字链表相关定义如下:typedef int ElemType;// 非零元素结点结构typedef struct OLNode{ int row,col; ElemType value; struct OLNode *right,*down;}OLNode,*OLink;// 十字链表结构typedef struct{ OLink *rowhead,*colhead; int rows,cols,nums

2021-08-04 12:16:09 1710 1

原创 栈 后缀表达式计算(icoding)

题目:请使用已定义好的栈完成后缀表达式计算:(1)如果是操作数,直接入栈(2)如果是操作符op,连续出栈两次,得到操作数x 和 y,计算 x op y,并将结果入栈。后缀表达式示例如下:931-3*+102/+13445+51/6-操作数、操作符之间由空格隔开,操作符有 +,-,*, /, %共 5 种符号,所有操作数都为整型。栈的定义如下:#define Stack_Size 50typedef struct...

2021-08-04 12:13:58 500

原创 矩阵加法

题目:实现三元组表示的两个稀疏矩阵的加法。相关定义如下:#define MAXSIZE 100 //假设非零元个数的最大值为100typedef struct { int i,j; //非零元的行下标和列下标,i 和 j 从 1 开始计数,与数学中矩阵元素的编号一致 ElemType e; //非零元的值}Triple;typedef struct { Triple data[MAXSIZE]; // 非零元三元组表

2021-07-31 07:28:03 523

原创 队列 循环链表表示队列

题目:假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),请完成下列任务:1: 队列初始化,成功返回真,否则返回假:bool init_queue(LinkQueue *LQ);2: 入队列,成功返回真,否则返回假:bool enter_queue(LinkQueue *LQ, ElemType x);3: 出队列,成功返回真,且*x为出队的值,否则返回假bool leave_queue(LinkQueue *LQ, ElemType *x);相关...

2021-07-31 07:26:03 528

原创 串 比较

题目:不调用库函数,自己实现字符串的比较操作:该操作当比较的两个字符是都是字母,且两个字符互为大小写(如a和A、e和E)时认为两个字符相同,否则不同,其比较结果按这两个字符的原值确定。函数的返回值规定如下:返回值 < 0:第一个不匹配的字符在 ptr1 中的值低于 ptr2 中的值返回值 == 0:两个字符串的内容相等返回值 > 0:第一个不匹配的字符在 ptr1 中的值大于在 ptr2 中的值函数原型如下:int str_compare(const char* ptr1,

2021-07-31 07:21:57 681

原创 链表 合并

题目:设线性表A=(a1, a2,…,am),B=(b1, b2,…,bn),试写一个按下列规则合并A、B为线性表C的算法,使得:C= (a1, b1,…,am, bm, bm+1, …,bn) 当m≤n时;或者C= (a1, b1,…,an, bn, an+1, …,am) 当m>n时。线性表A、B、C均以单链表作为存储结构,且C表利用A表和B表中的结点空间构成。注意:单链表的长度值m和n均未显式存储。函数的原型如下:void lnk_merge(LinkList A, LinkLis

2021-07-31 07:20:27 514

原创 链表 倒数查找

题目:已知一个带有表头结点的单链表, 假设链表只给出了头指针L。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。函数原型为:int lnk_search(LinkList L, int k, ElemType* p_ele)若查找成功,函数通过指针参数 p_ele 返回该结点 data 域的值,此时函数返回 1;否则,函数返回 0。相关定义如下:struct _lnklist{ ElemType data; struct _ln

2021-07-31 07:18:21 215

原创 链表 删除范围内结点

已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度。链表结点定义如下:struct _lnklist{ ElemType data; struct _lnklist *next;};typedef struct _lnklist Node;typedef struct _lnklist *LinkList;函数原型如下:void lnk_del_x

2021-07-30 10:12:57 543

原创 顺序表 数据调整

已知顺序表L中的数据元素类型为int。设计算法将其调整为左右两部分,左边的元素(即排在前面的)均为奇数,右边所有元素(即排在后面的)均为偶数,并要求算法的时间复杂度为O(n),空间复杂度为O(1)。函数原型如下:void odd_even(SeqList *L);相关定义如下:struct _seqlist{ ElemType elem[MAXSIZE]; int last;};typedef struct _seqlist SeqList;代码:#includ

2021-07-30 10:11:26 305

原创 顺序表 删除重复

编写算法,在一非递减的顺序表L中,删除所有值相等的多余元素。要求时间复杂度为O(n),空间复杂度为O(1)。函数原型如下:void del_dupnum(SeqList *L)相关定义如下:struct _seqlist{ ElemType elem[MAXSIZE]; int last;};typedef struct _seqlist SeqList;代码:#include "list.h" // 请不要删除,否则检查不通过#include <stdi

2021-07-30 10:09:39 353

原创 线性表 顺序表 删除指定范围

设计一个高效的算法,从顺序表L中删除所有值介于x和y之间(包括x和y)的所有元素(假设y>=x),要求时间复杂度为O(n),空间复杂度为O(1)。函数原型如下:void del_x2y(SeqList *L, ElemType x, ElemType y);相关定义如下:struct _seqlist{ ElemType elem[MAXSIZE]; int last;};typedef struct _seqlist SeqList;代码#includ..

2021-07-30 09:47:22 531

原创 20届icoding实验六(10~13)

代码仅供参考,望多多思考#define GOODS_FILE_NAME "goodsinfo.txt"#define MAX_ID_LEN 30#define MAX_NAME_LEN 30#define MAX_PRICE_LEN 30#define MAX_DISCOUNT_LEN 30typedef struct {char goods_id[MAX_ID_LEN];char goods_name[MAX_NAME_LEN];int goods_price;char g

2021-07-30 09:42:43 1553

原创 20届实验六(7~9)

代码仅供参考,望多多思考#define GOODS_FILE_NAME "goodsinfo.txt"#define MAX_ID_LEN 30#define MAX_NAME_LEN 30#define MAX_PRICE_LEN 30#define MAX_DISCOUNT_LEN 30typedef struct {char goods_id[MAX_ID_LEN];char goods_name[MAX_NAME_LEN];int goods_price;char g

2021-07-30 09:30:45 814 3

原创 20届实验六(4~6)

#define GOODS_FILE_NAME "goodsinfo.txt"#define MAX_ID_LEN 30#define MAX_NAME_LEN 30#define MAX_PRICE_LEN 30#define MAX_DISCOUNT_LEN 30typedef struct {char goods_id[MAX_ID_LEN];char goods_name[MAX_NAME_LEN];int goods_price;char goods_discount[.

2021-07-30 09:26:06 698

原创 20届icoding实验六(1~3)

仅供参考,望自己多多思考01-软件界面控制实现一个数字选项式的启动界面,程序输入数据为(1-8),参考界面如下:1.显示所有商品的信息2.修改某个商品的信息3.插入某个商品的信息4.删除某个商品的信息5.查找某个商品的信息6.商品存盘并退出系统7.对商品价格进行排序8.(慎用)删除所有内容其他.不存盘并退出系统相关结构及函数声明如下:#define GOODS_FILE_NAME "goodsinfo.txt"#define MA...

2021-07-28 19:18:15 2440 1

原创 20届icoding实验五

MAIN函数改造。 修改16.3节的INVERTORY.C程序,使 INVENTORY 和 NUM_PARTS 为 MAIN 函数的局部变量。本小题只需完成main函数的改造即可,相关结构及函数声明如下:#define NAME_LEN 25#define MAX_PARTS 100struct part {int number;char name[NAME_LEN+1];int on_hand;};int read_line(char str[], int n);in..

2021-07-28 19:10:07 1675 1

原创 20届icoding实验四

代码仅供参考,望大家多多思考10-1:栈(STACK) 修改如下程序(10.2节的栈示例)使它存储字符而不是整数。 增加 MAIN 函数,用来要求用户输入一串圆括号或花括号,然后指出它们之间的嵌套是否正确。Enter parentheses and/or braces: ()({})({})Parentheses/braces are nested properlyEnter parentheses and/or braces: ((}Parentheses/braces are N

2021-07-28 17:11:42 2910 11

原创 20届icoding实验三

7-4:翻译(TRANSLATION) 编写程序可以把字⺟格式的电话号码翻译成数值格式: ENTER PHONE NUMBER: CALLATT 2255288如果没有电话在身边,参考这⾥给出的字⺟在键盘上的对应关系:(2=ABC,3=DEF,4=GHI,5=JKL,6=MNO,7=PQRS,8=TUV,9=WXYZ)原始电话号码中的⾮字⺟字符(例如数字或标点符号)保持不变:Enter phone number: 1-800-COL-LECT1-800-265-5328可以假设任何⽤户输⼊的

2021-07-28 16:55:03 5075 1

原创 20届 icoding 实验二

5-2: 24⼩时制-12⼩时制转换(24-HOUR TO 12-HOUR)编写⼀个程序,要求⽤户输⼊ 24 ⼩时制的时间,将其转换为 12 ⼩时制的格式。Enter a 24-hour time: 21:11Equivalent 12-hour time: 9:11 PMEnter a 24-hour time: 0:01Equivalent 12-hour time: 12:01 AM注意,不要把12:00显示为0:00。#include <stdio.h>#in

2021-07-25 19:58:11 3328

原创 20届icoding 实验1

2-4:计算税金编写⼀个程序,要求⽤户输⼊⼀个美元数量,然后显示出增加 5% 税率后的相应⾦额。Enter an amount: 100.00with tax added: $105.00输⼊的⾦额为⼤于 0 的两位数浮点数。#include <stdio.h>#include <stdlib.h>int main(){ float x = 0.0f, y; scanf("%f", &x); y = (1 + 0.05) *

2021-07-25 18:53:05 1957

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除