
C++
CCCalga
这个作者很懒,什么都没留下…
展开
-
排序技术(C++)
直接插入排序思想:依次将待排序列中的每一个记录插入到排好的序列中,直到全部都排好序void Sort::InsertSort(){ int i,j,temp; for(i=1;i<length;i++){ temp=data[i]; for(j=i-1;j>=0&&temp>data[j];j--) data[j+1]=data[j]; data[j+1]=temp; }}原创 2020-12-15 16:32:29 · 338 阅读 · 1 评论 -
Struct实例
计算书费下面是一个图书的单价表:计算概论 28.9 元/本数据结构与算法 32.7 元/本数字逻辑 45.6元/本C++程序设计教程 78 元/本人工智能 35 元/本计算机体系结构 86.2 元/本编译原理 27.8元/本操作系统 43 元/本计算机网络 56 元/本JAVA程序设计 65 元/本给定每种图书购买的数量,编程计算应付的总费用。#include <i...原创 2020-02-27 21:03:45 · 439 阅读 · 0 评论 -
多继承例题
描述1、定义日期“Date”类,类中包含数据成员年、月、日,成员函数包括构造函数(只有带参的构造函数),设置日期,或取年、月、日,显示年、月、日等 2、定义时间“Time”类,数据成员包括时分秒。成员函数的要求同date类3、定义日期时间型“Date_Time”类⑴公有继承Date类及Time类;⑵不增加数据成员; ⑶增加日期时间处理成员函数,包括初始化日期时间、设置日期时间、显示日期时间等。在4、每个类都要求重载>> 和<<运算符< span="原创 2020-06-02 16:58:54 · 553 阅读 · 0 评论 -
C++重载运算符(3)
友元函数重载运算符运算符重载为类的友元函数如果需要重载一个运算符,使之能够用于操作某类对象的私有成员,可以此将运算符重载为该类的友元函数。函数的形参代表依自左向右次序排列的各种操作数。友元函数重载运算符常用于运算符的左右操作数类型的不同情况#include <iostream>using namespace std;class Complex{ private: int real; int imag; public: Complex(){}原创 2020-05-19 15:36:03 · 187 阅读 · 0 评论 -
C++ iomanip函数库使用说明
1)头文件: #include <ioamnip>//cin、cout操纵运算子 dec 设置整数为十进制 hex 设置整数为十六进制 oct 设置整数为八进制 setbase(n) 设置整数为n进制(n=8,10,16) setfill(n) ...原创 2020-02-17 17:54:14 · 1219 阅读 · 0 评论 -
C++ cmath函数库使用说明
头文件: #include <camth> int abs(int i) 返回整型参数i的绝对值 int n=-199; cout<<fabs(n)<<endl; 输出:199 ~~double cabs(struct complex znum) 返回复数znum的绝对值~~ ...原创 2020-02-17 19:37:14 · 1801 阅读 · 0 评论 -
C++ cstring函数库使用说明
//字符串输入规则(注意字符串所占的空间结构)*注意数组越界 为\0留出空间scanf 遇到空格 自动停止 最后自动加/0 例:输入Fox River 输出 Fox scanf("%s",line)*没有&符号(&符号是取地址)易发生数组越界cin.getline(char 数组名,int size)/cin.getline(数组名,sizeof(数组名)) size是数...原创 2020-02-17 19:50:10 · 884 阅读 · 0 评论 -
C++简单排序(选择排序、插入排序和冒泡排序)
//选择排序如果有n个元素需要排序,那么首先从n个元素中找到最小的那个(称为第0小的)放在第0个位置上(和原来的第0个位置上的元素交换位置),然后再从剩下的n-1个元素中找到最小的放在第1个位置上,然后在从剩下的n-2个元素中找到最小的放在第二个位置上······直到所有的元素都就位。void selectsort(int a[],int size){ for(int i=0;i<si...原创 2020-02-18 00:14:47 · 278 阅读 · 1 评论 -
C++STL 中sort使用说明
STL标准模板库:1)包含一些常用的算法 如排序查找,还有常用的数据结构如可变长数组、链表、字典等。2)使用方便,效率较高。3)要使用其中的算法,需要#include<algorithm>//sort排序: sort(数组名+n1,数组名+n2); 将数组中下标范围为[n1,n2)的元素从小到大排序。下标为n2的元素不在排序的范围内。 int a[]={15,4,3,9,...原创 2020-02-18 01:29:52 · 131 阅读 · 0 评论 -
C++ struct
结构体:结构类型使用户自定义数据类型,以关键字struct标识,由结构类型名、各组成员的名称和类型定义struct 标识符{ 类型 成员; ········; ········;}访问结构: 结构变量名.成员 a.id、a.name、a.phone *(指针).成员或指针->成员#include <iostream>using namespace std;...原创 2020-02-24 21:54:08 · 252 阅读 · 0 评论 -
C++STL中next_permutation使用说明(全排列)
全排列:描述给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。 输入输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的...原创 2020-03-02 17:10:00 · 447 阅读 · 0 评论 -
C++ 面向对象 类
面向对象:对象 = 数据(数据类型)+ 算法从客观事物抽象出类:例如生活中的洗衣机、冰箱。洗衣机的属性:1)外观上:长、宽、高、类型(滚筒、波轮)、品牌(小天鹅、海尔)2)功能上:洗衣服伪代码理解://C语言的描述struct 洗衣机{ int nwidth; int nheight; int nlength; int ntype; int...原创 2020-03-04 09:37:57 · 224 阅读 · 0 评论 -
C++STL简单应用
stringstring 表示可变长度的字符序列字符串是对象string 类支持字符串对象的各种操作各种初始化方式字符串之间的复制、比较、连接查询字符串长度和判断字符串是否为空访问字符串中的单个字符使用string 类要包含头文件<string>#include <iostream>#include <string>using namesp...原创 2020-03-08 15:26:39 · 247 阅读 · 0 评论 -
位运算(an easy problem)
描述As we known, data stored in the computers is in binary form. The problem we discuss now is about the positive integers and its binary form.Given a positive integer I, you task is to find out an in...原创 2020-03-09 18:51:49 · 220 阅读 · 0 评论 -
C++STLset
“排序容器”:set 和 multiset、map和multimap本想很简单的整理一下,就搜集一下资料,后来发现这只是冰山一角,发现后面包含的应用像树根一样缠在一起,必须一点一点的搞。简单说就是可以将数据直接丢进容器里,容器会对数据按照一定的规则自动排序。首先来说说set 和 multiset:set和multiset会根据特定的排序准则,自动将元素进行排序。不同的是后者允许元素重复而前...原创 2020-03-12 09:33:28 · 267 阅读 · 0 评论 -
C++重载运算符(1)
运算符重载:(1)运算符重载的实质是函数重载;(2)可以重载为普通函数,也可重载为成员函数必要性C++中预定义的运算符的操作对象只能是基本的数据类型。对于许多用户自定义类型,也需要类似的运算操作。则必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算类型一元运算:成员函数有无参数;友元函数有一个参数。二元运算:成员函数有一个参数;友元函数有两个参数。重载类型(1)用成员函数重载(2)用友元函数重载(1)成员函数与友元函数重载#incl原创 2020-05-16 22:48:30 · 160 阅读 · 0 评论 -
C++重载运算符(2)
运算符成员函数设计(1)前置运算符op如果要重载op为类成员函数,使之能够实现表达式op oprd,其中oprd为类A的对象,则op应被重载为A类的成员函数,无形参。经重载后,表达式op oprd相当于oprd.operator op()。增1减1运算符是一元运算符,它们又有前置和后置两种。为了区分这两种运算,将后置运算视为二元运算符。表达式:obj++或obj–,被看作obj++0或obj–0(2)后置一元运算符++、–如果要重载++、–为类成员函数,使之能够实现表达式oprd++、opr原创 2020-05-17 15:17:55 · 570 阅读 · 0 评论 -
C++重载运算符(4)
重载赋值运算符赋值运算符重载用于对象数据的复制operator=必须重载为成员函数重载函数原型为:类名 & 类名 :: operator=(const 类名 & );定义name类的重载赋值运算符函数#include <iostream>#include <cstring>using namespace std;class name{ public: name(char *pn); name(const name &原创 2020-05-21 15:13:17 · 186 阅读 · 0 评论 -
C++虚函数与多态性(1)
静态联编联编是指一个程序自身彼此关联的过程,在这个联编过程中,需要确定程序中的操作调用与执行该操作的代码段之间的映射关系,就是把函数调用与函数的程序代码联系在一起。#include <iostream>using namespace std;int max(int a,int b);int max(int a,int b,int c);int max(int a,int b){ return a>b?a:b;}int max(int a,int b,int c){原创 2020-05-21 20:35:59 · 231 阅读 · 0 评论 -
C++虚函数与多态性(2)
虚函数练习:1.定义一个类Animal,该类中包含数据成员name用来记录动物的名字,并有一个虚函数show用于显示动物的种类。 2.定义两个类Cat和Dog,都继承自Animal;包含show函数,不但要显示动物的种类,还要显示动物的名字。 3.定义一个Tiger类,继承自Cat,包含show函数,显示动物的种类和名字。编写主函数,在主函数中定义一个基类指针,并用这个指针指向派生类的对象,通过基类指针调用派生类的show函数,实现运行时的多态。#include <iostream&g原创 2020-05-26 19:00:00 · 2379 阅读 · 0 评论 -
C++虚函数与多态性(3)例题
(1)编写一个程序计算正方体、球体和圆柱体的表面积和体积。定义一个抽象类Shape,在此基础上派生出正方体类、球体类和圆柱体类,都有计算对象表面积和体积的函数Area()和计算对象体积的函数Volume (),在主函数中定义一个Shape指针数组分别指向正方体类、球体类和圆柱体类的对象,并通过Shape类的指针实现对这3个对象的成员函数的调用,输出正方体、球体和圆柱体的表面积和体积。#include <iostream>using namespace std;const double p原创 2020-05-31 11:40:00 · 2612 阅读 · 0 评论 -
C++虚函数与多态性(4)
异质链表把不同类对象统一组织在一个数据结构中,可以定义为抽象类指针数组或链表。由于这种表中的具有不同类类型的元素(它们都有共同的基类),所以陈革伟“异质表”。#include <iostream>#include <iomanip>#include <cstring>using namespace std;class Employee{ public: Employee(const long k,const char* str){number原创 2020-05-31 14:36:58 · 143 阅读 · 0 评论 -
C++输入输出流(1)
流类与流对象I/O流类库提供对象之间的数据交互服务流类库预定义了一批流对象,连接常用的外部设备可以定义所需的I/O流对象,使用流库提供的工作方式实现数据传输程序中,对数据的输入/输出是以字节流实现的,应用程序中对字节序列做出的各种数据解释,I/O系统的任务就是在内存和外部设备之间稳定可靠的传输数据和解释数据,流类对象可以建立和删除,可以从流中获取数据和向流添加数据。流的概念输入输出是一种基本的数据传递的操作,它可以理解为字符序列在计算机内存与外设之间的流动。数据从一个对象到另一个对象的流动抽象为原创 2020-06-04 10:23:56 · 248 阅读 · 0 评论 -
C++输入输出流(2)
标准流与流操作标准流是C++预定义的对象,提供内存与外部设备进行数据交互的功能。流的操作是流类的公有成员函数。标准流为用户常用的外部设备提供与内存之间的通信通道,对数据进行解释和传输,提供必要的数据缓冲。(1)标准流cin: istream类的对象,通常连向键盘,可以重定向。cout:ostream类的对象,通常连向显示器,可以重定向。cerr:ostream类的对象,连向显示器,不能重定向。clog:ostream类的对象,连向打印机,不能重定向。(2)istream类的共有成员函数原创 2020-06-27 17:43:00 · 200 阅读 · 0 评论