程序设计语言
程序设计语言
SuperSources
这个作者很懒,什么都没留下…
展开
-
【Java】大数类
BigIntegerimport java.math.BigInteger; public class BigIntegerDemo1 { public static void main(String[] args) { BigInteger bi1 = new BigInteger("123456789") ; // 声明BigInteger对象 BigInteger bi2 = new BigInteger("987654321") ; // 声明BigInteger对象 S原创 2020-10-24 19:22:52 · 406 阅读 · 0 评论 -
【Java】对象数组按照某属性排序
一、将要排序的对象类实现< Comparable >接口。要排序就要有比较的方法, 因为是自定义的类, 系统不知道怎么做两个自定义类的比较,所以我们要自己在类内写两个类的比较的方法,也就是告诉按照那个属性或者那种方式来给对象数组排序,自定义比较算法也就是实现Comparable接口:(会自动生成需要自己写的方法如下图)/*** 学生类*/class Student implements Comparable<Student>{ String name;原创 2020-10-15 15:58:19 · 3784 阅读 · 0 评论 -
【C#】委托与事件
本文转自:C# 中的委托和事件(详解:简单易懂的讲解)我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具体方法的时候,我们不直接调用这个方法,而是去调用这个委托。当然,我们必须在具体方法和委托之间建立某转载 2020-08-22 01:27:53 · 124 阅读 · 0 评论 -
【STL】多条件组合查询
利用集合的交并集来实现,将所有的关键字全部查出来,取出其值(second)放入集合中,将多个条件产生的集合做交操作即可。交操作的函数前四个参数分别代表待操作的集合的起始和结束点,最后一个参数表示将操作后的集合保存到哪里。set_intersection(bpub.begin(), bpub.end(), bname.begin(), bname.end(), insert_iterator<vector<int>>(res, res.begin()));void Operat原创 2020-07-24 16:57:56 · 263 阅读 · 0 评论 -
【STL】区间查找
可以利用lower_bound到upper_bound来实现上界和下界的值的确定,然后遍历其中的元素即可void Operation::findBookByTime(string t1, string t2){ multimap<string, int>::iterator it1, it2, p; it1 = booktime.lower_bound(t1); it2 = booktime.upper_bound(t2); for (p = it1; p != it2; p++)原创 2020-07-24 16:57:10 · 253 阅读 · 0 评论 -
【STL】利用find_if函数结合map实现模糊查找
string内部的find函数本身可以实现对任意子串的查找,也就实现了模糊查找。问题在于必须给map的first准确的关键字,否则会查不出来,这就需要对find_if函数的谓词函数进行改造。template<class InIt, class Pred> InIt find_if(InIt first, InIt last, Pred pr); 返回区间 [first,last) 中的迭代器 i, 使得 pr(*i) == true为此,我构造了一个类,并重载了函数调用运算符,在其内部原创 2020-07-24 16:55:36 · 1403 阅读 · 0 评论 -
【STL】利用map快速查找vector
可以使用vector动态数组来存储原始信息,当需要查找的时候如果直接查找的话要一个一个的从头开始遍历,效率较低,借助map的键值对的特点,我们可以利用map来建立索引。实现方法:在建立vector的同时,也同时将该元素插入到map容器中,map的first是待查找的关键字,second是该元素在vector中的下标。如果是在导入数据时建立map,可以按照下面这样写:vector.push_back(element);mapname.insert(make_pair(element.getSname(原创 2020-07-24 16:54:41 · 1063 阅读 · 1 评论 -
【C++】动态数组的C++简易实现
定义一元素为整数的动态数组类,并在主函数中调用各个功能:数据成员:指向元素首地址的指针(用于存储动态申请的数组空间)、当前数组的容量、当前元素的个数;成员函数:带参/无参构造函数(无参的动态申请10个元素空间并改变当前数组的容量、当前元素的个数值;带参的按参数处理);在尾部增加一元素;修改指定位置上的元素值;查询指定数据的元素是否存在;输出所有数组中的元素; 增加数组容量(动态申请新容量数组空间、将原来数组空间中的元素复制到新空间并修改当前数组的容量值,释放delete原来数组空间);析构函原创 2020-06-04 12:13:29 · 518 阅读 · 0 评论 -
【C++】类和对象专题
文章目录内容总结结构体类对象构造函数默认值析构函数(系统自动调用)初始化列表(系统自动调用)this指针复制构造函数深复制、浅复制常成员静态成员友元类的包含运算符重载学习感受内容总结c++数据类型分为简单数据类型和复杂数据类型,前者也就是c++内置的基本数据类型,如int 、double等,后者又分为c++内置的复合类型和自定义的类型。所以,归根结底,我们现在自定义的类本质上来说就是作为c++的一种特殊的数据类型,我们将各种复杂的数据和操作封装到一个类里面,所以在形式上,类的使用和定义本质上与基本类型类原创 2020-06-04 10:08:20 · 833 阅读 · 0 评论 -
【C++】不使用结构体实现单链表
题目利用《数据结构》知识,定义一元素为整数的单链表类,并在主函数中调用各个功能:数据成员:指向头结点的指针、链表中当前元素的个数;成员函数:初始化、在尾部增加一元素、查询指定数据的元素、在指定元素前插入一新元素、删除指定元素、遍历链表中的元素、输出所有链表中的元素、将一个单链表逆序(选作)。原理类的成员可以是其他类的对象,称为类的组合。不能以类自身的对象作为本类的成员。但是可以是本身的指针或者引用。#include<iostream>using namespace std;cla原创 2020-06-04 08:49:47 · 469 阅读 · 0 评论 -
【C++】继承多态专题
继承、多态知识概括继承所谓继承,也就是在已有类的基础上创建新类的过程,适当的使用继承可以节省代码量,优化整个程序的结构。派生类的生成过程派生类的生成过程经历了三个步骤:●吸收基类成员(全部吸收(构造、析构除外),但不一定可见) 在C++的继承机制中,派生类吸收基类中除构造函数和析构函数之外的全部成员。但是不论种方式继承基类,派生类都不能直接使用基类的私有成员 。 公有继承中,派生类对基类的所有成员进行复制(仅把数据的“型”复制,数据的“值”之间没有关系),在此基础上在添加新的成员。注意:原创 2020-05-19 20:39:35 · 631 阅读 · 0 评论 -
【C++】STL专题
STL概述STL由一些可适应不同需求的集合类(collection class),以及在这些数据集合上操作的算法(algorithm)构成。容器(Container) - 管理某类对象的集合迭代器(Iterator) - 在对象集合上进行遍历算法(Algorithm) - 处理集合内的元素STL内的所有组件都由模板(template)构成,其元素可以是任意类型。...原创 2020-04-28 16:00:05 · 971 阅读 · 1 评论 -
【C++】文件操作专题
C++把文件看成无结构的字节流,文件中只存储了数据,没有存储记录的逻辑结构,编码方式分为文本文件(顺序存取)和二进制文件(随机存取)。存取方式分为顺序文件和随机文件。要执行文件的输入输出,须做以下几件事:(1) 在程序中包含头文件fstream;(2) 建立文件流。建立文件流的过程就是定义流类的对象,例如:ifstream in;ofstream out;fstream bo...原创 2020-04-27 23:52:39 · 358 阅读 · 0 评论 -
【C++】实现简易通讯录
设计并实现简单通讯录系统1.定义描述联系人信息的类(数据类)数据成员:身份证号(常成员)、姓名、手机号(用字符串数组,可能不止一个)、QQ号、微信号、住址;成员函数:构造函数若干、get/set函数、显示函数。2.定义功能实现类(操作类)数据成员:联系人数组(链表也可)、联系人数量、数组容量;成员函数:构造函数(完成对本类数据成员的初始化);增加联系人(在尾部增加);按身份证号查...原创 2020-04-06 17:22:16 · 1849 阅读 · 0 评论 -
【C++】动态数组的C++简易实现
定义一元素为整数的动态数组类,并在主函数中调用各个功能:数据成员:指向元素首地址的指针(用于存储动态申请的数组空间)、当前数组的容量、当前元素的个数;成员函数:带参/无参构造函数(无参的动态申请10个元素空间并改变当前数组的容量、当前元素的个数值;带参的按参数处理);在尾部增加一元素;修改指定位置上的元素值;查询指定数据的元素是否存在;输出所有数组中的元素; 增加数组容量(动态申请新...原创 2020-04-06 17:20:08 · 1068 阅读 · 0 评论