- 博客(98)
- 资源 (3)
- 收藏
- 关注
原创 DS 线性表4:猴子选大王
Request:一群猴子,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈。从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。输入m和n,输出为大王的猴子是几号。提示:(1)链表解法:可以用一个循环单链表来表示这一群猴子。表示结点的结构体中有两个成员:一个保存猴子的编号,一个为指向下一个人的指针,编号为m的结点再...
2019-04-29 09:56:46
397
原创 DS 线性表3:单链表应用
Request:在前一节建设“单链表”算法库 基础上设计1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。 提示:实现算法时,可以设计下面的函数:void Reverse(LinkList *&L)2、已知L1和L2分别指向...
2019-04-27 19:48:02
449
原创 C++ 类和对象 1.5:数组作数据成员(排序/动态内存分配/文件的读取)
Request:设计一个工资类(Salary),其中类的数据成员如下:class Salary{private: double salarys[50]; //多人的工资 int number; //实际人数};要设计的成员函数有: void set_salarys( ):输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数...
2019-04-22 08:55:34
789
原创 C++ 类和对象 1.4:图书馆的书[两次调用getline()用cin.ignore()清楚缓存]
Request:编写一个Book类,包含name(书名)、writer(著者)、public_name(出版社)、price(价格)、number(数量)、NO(书号)等数据成员。定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borrow和restore,分别办理借出和还回(借、还书时,暂时只完成数量的增1减1,这里的书仍是一种书的概念,随着课程进展,我们继续做真正的图书管...
2019-04-20 19:44:39
350
原创 C++ 类和对象 1.3:时间类
Request:在原程序上扩充类的功能(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数) add_a_sec() //增加1秒钟 add_a_minute() //增加1分钟 add_an_hour() //增加1小时在main()数中,调用新增加的成员函数,以测试扩充后的功能。(2)再增加三个成员函数,要求在类内声明,类外定义。...
2019-04-17 12:11:46
362
原创 C++ 类和对象 1.2:长方柱类
Request:编写基于对象的程序,求3个长方柱(Bulk)的体积。数据成员包括长(length)、宽(width)、高(heigth)、体积,要求设计成员函数实现下面的功能:(1)由键盘输入3个长方柱的长、宽、高;(2)计算长方柱的体积(volume)和表面积(areas);(3)输出这3个长方柱的体积和表面积;#include <iostream>using n...
2019-04-16 17:25:16
475
原创 C++ 类和对象 1.1:旱冰场造价
Request:有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。一级提示:先定义类,确定其数据成员和成员函数。在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价。有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解。二级提示:实际上,对...
2019-04-16 16:13:14
402
原创 FAQ4-How to compare the convergence curves of two algorithms
文件目录:main.mPSO_1.mPSO_2.mOptimizationProblem.mmain.mclearclose allclc%Problem preparationproblem.nVar = 5;problem.ub = [5,5,5,5,5];problem.lb = [-5,-5,-5,-5,-5];problem.fobj = @OptimizationPr...
2018-06-22 09:33:22
263
原创 FAQ3-How to conduct a statistical result(Wilcoxon ranlsum) when comparing algorithms
文件目录:main.mPSO_1.mPSO_2.mOptimizationProble,mmain.mclearclc%Problem preparationproblem.nVar = 5;problem.ub = [5,5,5,5,5];problem.lb = [-5,-5,-5,-5,-5];problem.fobj = @OptimizationProblem;%PS...
2018-06-22 09:04:32
258
原创 FAQ2-How to run an algorithm multiple times and collect statistical results
文件目录:main.mPSO.mOurTableDesignProblem.mmain.mclearclc%Problem preparationproblem.nVar = 2;problem.ub = [7,5];problem.lb = [2,1];problem.fobj = @OurTableDesignProblem;%PSO parametersnoP = 5;...
2018-06-21 16:37:03
204
原创 FAQ1-How to write a PSO as a function
Why to write a PSO as a function ?文件目录:main.mPSO.mOurTableDesignProblem.mmain.mclearclc%Problem preparationproblem.nVar = 2;problem.ub = [7,7];problem.lb = [2,2];problem.fobj = @OurTableDesign...
2018-06-21 11:09:59
337
原创 BPSO-Discrete optimization(2)
问题描述:BPSO.mclear all close all clc % Define the details of the binary optimization problem nVar = 20 ; ub =ones(1,nVar); lb = zeros(1,nVar); fobj = @ObjectiveFunction; % Defin...
2018-05-28 11:16:57
1636
6
原创 BPSO-Discrete optimization(1)
问题描述:BPSO.mclear allclose allclc% Define the details of the binary optimization problemnVar = 20 ; ub =ones(1,nVar);lb = zeros(1,nVar);fobj = @ObjectiveFunction; % Define the PSO's paramter...
2018-05-26 21:49:55
905
原创 PSO-constrained optimization
问题描述:PSO.mclear allclose allclc%define the details of this problemnVar = 2;ub = [10 10];lb = [-10 -10];fobj = @ObjectiveFunction;%define the PSO's parametersnoP = 30;maxIter = 500;wMax =...
2018-05-25 22:22:03
420
原创 PSO-TableDesignProblem
问题描述:PSO.mclear allclose allclc%Define the details of the table design problemnVar = 2; %number of variblesub = [7 7];lb = [2 2];fobj = @OurTableDesignProblem;%Define the PSO's parametres...
2018-05-25 10:38:38
222
原创 DS 线性表2:建设“单链表”算法库
任务和代码:main.cpp/* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2018.5.9 *版本号:v2. * *问题描述:单链表的应用 *问题输出:程序的多文件组织形式 */ #include <stdio.h>#include "list.h"int main(){...
2018-05-09 10:04:44
255
原创 DS 线性表1:顺序存储结构
任务和代码:main.cpp/* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2018.5.2 *版本号:v2. * *问题描述:顺序表的应用*问题输出:1.程序的多文件组织形式 ; 2.要求算法的时间复杂度为O(n)*/ #include "list.h"#include <stdio.h>...
2018-05-02 11:29:41
356
原创 C语言进阶-第36~37讲:随机读写&二进制文件&文件操作整理
一:分析随机读写程序的运行结果/*将数据写到文本文件中,再从头到尾读取文件并输出到显示器*/#include<stdio.h>#include<stdlib.h>int main(){ int a[10], b[10], i; FILE *iofile; if((iofile=fopen("f1.dat","w+"))==NULL...
2017-12-03 11:34:45
694
原创 C语言进阶-第35讲:标准文件读写方法(以字符/字符串复制文件引发的思考)
任务和代码(一):/*以字符为单位复制文件*/#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp1,*fp2; char ch; if((fp1=fopen("a.txt","r"))==NULL) /*打开用于复制的源文件*/ { pr...
2017-11-30 21:49:55
412
转载 C语言进阶-第32讲:位运算及其应用
任务和代码(一):/*用位运算将十进制数扩大一倍*/#include int main(){ unsigned short int n = 3; int i; for(i=0; i<20; i++) { printf("%d\n",n); n<<=1; //n=n<<1; } retu
2017-11-28 21:48:26
377
原创 C语言进阶-第30讲:联合体及其与结构体的区别
联合体,几个不同的成员变量共占用同一段内存的结构,也称为共用体。变量在内存中占的字节数不同,但都从同一地址开始使用,其占用的空间长度为最长成员空间长度。而结构体结构体各成员使用的空间长度连贯,长度为各成员长度之和;联合体提供了从不同角度看待(比如数字和字符间的相互转换)去看同一段内存空间里的内容即,联合体内的成员是内存的"多种表现方式",但"本质是唯一的”。而结构体
2017-11-28 09:56:46
434
原创 C语言进阶-第29讲:枚举类型及其应用(对称点)
任务和代码:/* *All rights reserved *文件名称:main.c *作者: Osseyda 完成日期:2017.11.27 *版本号:v2. * *问题描述:设计函数,可以按指定的方式,输出一个平面点的对称点 */ #include enum SymmetricStyle{axisx, axisy, point};//分别表示按x轴,
2017-11-27 21:29:15
274
原创 C语言进阶-第24~28讲:算法概述
查找问题及其求解 之前学过逐次查找,二分查找,今后还将学习二叉查找树,这些都是通过比较进行查找的; 这次学习了非比较查找,内涵是将数据重新放到一组数组中,查找在新数组中的位置。于是,接触到了哈希法,主要学习了除留取余法及其在处理两个数的余数相同情况下的开放地址法。排序问题及其求解 之前学过冒泡法、选择法,这次学了快速排序,这
2017-11-26 21:49:35
215
原创 C语言进阶-第22~23讲:问题求解的一般过程&数据结构及算法概述
问题求解的一般过程:数据表示的任务(数据的逻辑结构->数据的存储结构) 数值问题:用数学方程表示数据模型 非数值问题:线性表、树、图等结构数据处理的任务 建立在数据模型的基础上进行设计,数据模型不同,处理方法各异
2017-11-23 17:06:41
335
原创 C语言进阶-第19讲:链表应用(链表版通讯录)
任务和代码:利用链表存储数据,写一个通信录程序,能够记录多个联系人的编号、姓名、性别、联系电话、地址,完成数据的录入、添加、删除、修改以及查询功能。head.h#ifndef HEAD_H_INCLUDED#define HEAD_H_INCLUDED/*结点数据域中存放另一个结构体记录某个客户的具体信息*/typedef struct{ //定义(名
2017-11-22 21:58:09
442
原创 C语言进阶-第19讲:链表应用(改造链表)
任务和代码:下面是一个建立动态链表的程序。阅读程序,然后按要求改造程序。#include using namespace std; #include #include #define N 5typedef struct NODE{ int data; //结点的数据 struct NODE *next; //指向下一结点} No
2017-11-19 20:40:22
322
原创 C语言进阶-第19讲:链表应用(拆分链表)
任务和代码:编写一个函数将一个头指针为a的单链表A分解成两个单链表A和B,其头指针分别为a和b,使得A链表中含有原链表A中序号为奇数的元素,而B链表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。例,建立长度为7,元素为1 2 3 4 5 6 7的链表后,经拆分,得到两个数组A和B,其元素分别是1 3 5 7 和2 4 6#include #include typedef st
2017-11-17 10:07:10
1375
转载 C语言进阶-第19讲:链表应用(链表的合并)
任务与代码:输入一个整数m,表示A链表的长度,再输入m个数作为A链表中的m个数据元素,建立链表A,其头指针为heada。输入一个整数n,表示B链表的长度,再输入n个数表示B链表中的n个数据元素,建立链表B,其头指针为headb。输入i、len、j,将要从单链表A中删除自第i个元素起的共len个元素,然后将单链表A插入到单链表B的第j个元素之前。最后输出操作后的链表B。例如,输入:
2017-11-16 17:01:14
344
原创 C语言进阶-第17讲:链表和数组的比较
知识点总结: 链表的表示:链表用含指针的结构体实现 链表分类: 单链表:每一个结点都要保存一个指向下一个元素的指针。 双链表:每个结点既要保存下一个结点的地址,还要保存上一个结点的地址。 循环链表:最后一个结点中保存指向第一个结点的地址。 链表和数组的比
2017-11-14 21:44:10
299
原创 C语言进阶-第15~16讲:结构体应用(玩转日期和时间)
任务和代码:定义一个表示时间(包括年、月、日、时、分、秒)的结构体,然后完成下面的功能。 提示:将各个功能分别设计成函数实现,在main函数中调用,进行测试。可以设计一个函数,即刻进行测试,以降低复杂度。 要实现的功能是: (1)输入一个时间(注意各部分数据的取值范围)将输入的时间保存在一个结构体变量中; (2)输出该日在本年中是第几天(注意闰年问题); (3)输出这是这一
2017-11-13 09:21:50
823
原创 C语言进阶-第15~16讲:结构体应用(学生成绩统计)
任务和代码: 学生成绩统计: 每位同学的信息学号、姓名、C、高数、英语成绩。定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[13])、姓名(name)、三门课的成绩(grade)、总分(score)) score.txt中是一些同学的学号、姓名、C++、高数、英语成绩,利用前面定义的结构体数组,读取文件score.
2017-11-11 11:38:21
2303
原创 C语言进阶-第15~16讲:结构体(含指针和函数)
知识点总结 (二)指向结构体变量的指针 1)结构体变量指针的访问形式 2)指向结构体变量的指针作实参: #include #include struct Student
2017-11-08 21:56:49
330
原创 C语言进阶-第11~13讲:结构体实践(该年第几天&紧急救援)
任务和代码(一):日期结构体(该年第几天)/* *All rights reserved *文件名称:main.c *作者: Osseyda *完成日期:2017.11.6 *版本号:v2. * *问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。*/#include typedef struct{ int year
2017-11-08 16:35:19
392
原创 C语言进阶-第11~13讲:结构体实践(成绩处理&个税计算器之码数分离)
任务和代码(一):成绩处理/* *All rights reserved *文件名称:main.c *作者: Osseyda *完成日期:2017.11.6 *版本号:v2. * *问题描述:定义学生结构体,在结构体数组中,输入了学生学号和两门课的成绩 *输出要求: (1)计算每名学生的学分绩——各科成绩乘以学分的和,再除以总学分 (本题中,C
2017-11-08 15:57:18
303
原创 C语言进阶-第11~13讲:结构体(含数组和函数)
知识点总结: (一)体验结构体 struct 结构体类型名 or 自定义类型 typedef 类型 类型名; {成员表列}; 声明结构体类型,不分配空间;定义结构体类型变量,就要分配内存空间(类型理解上直接看作int)
2017-11-08 14:03:55
283
原创 C语言进阶-第8~10讲:预处理
知识点总结: 预处理 以"#"开头的命令 (1)宏定义 #define ... (2)文件包含 #include ... (3)条件编译 #indef ... 宏定义 #define 标识符 字符串 带参数的宏定义 #define 宏名(参数表) 字符串
2017-11-06 21:51:20
326
原创 C语言进阶-第6讲:递归法问题求解(递归求数组的最大值)
任务和代码:/**All rights reserved*文件名称:main.c*作者: Osseyda*完成日期:2017.11.6*版本号:v2.**问题描述:递归求数组的最大值*递归思路: 第n个数与数组中前n-1个数比较 第n-1个数与数组中前n-2个数比较 ...... 第2个数与数组中第
2017-11-06 18:03:13
7145
3
原创 C语言进阶-第6讲:递归法问题求解(两数的最大公约数)
任务和代码:/**All rights reserved*文件名称:main.c*作者: Osseyda完成日期:2017.11.6*版本号:v2.**问题描述:两数最大公约数的递归版(辗转相除法)*递归思路: 有两整数a和b(a>b): ① a%b得余数c ② 若c=0,则b即为两数的最大公约数
2017-11-06 16:56:42
1467
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人