c++和java基础
abc15766228491
这个作者很懒,什么都没留下…
展开
-
python利用ctypes的指针传入int型列表和string类型列表到c语言中
下面这个方法是将c语言的函数编译为动态链接库,然后python调用得到结果。这个c语言中没有main函数,是因为python只需要调用它的方法。将它和c++结合,用c++操作这个python的list,就需要用到extern “C”了。。。后续会出~~如果有大神可以不用extern”C”直接调用c++的,请留言,感谢分享原创 2017-12-24 10:22:49 · 7018 阅读 · 6 评论 -
程序设计与算法(三)多态 作业
1:看上去像多态答案:#include <iostream>using namespace std;class B {private: int nBVal;public: void Print() { cout << "nBVal="<< nBVal << endl; } void Fun() ...原创 2018-05-16 08:34:57 · 1134 阅读 · 0 评论 -
程序设计与算法(三) 第八周 标准模板库STL(一)
String 类string类是一个模板类:typedef basic_string&amp;amp;lt; char &amp;amp;gt; string使用string类要包含头文件&amp;amp;lt; string&amp;amp;gt;string 对象的初始化:string s1(“hello”);string month=”match”;string s2(8,’x’); 等。。。。#in原创 2018-06-03 16:03:55 · 632 阅读 · 0 评论 -
程序设计与算法(三)第九周 标准模板库STL(二)(1)
set和multiset关联容器:set, multiset, map, multimap内部元素有序排列,新元素插入的位置取决于它的值,查找速度块除了各容器都有的函数外,还支持以下成员函数find:查找等于某个值的元素(x小于y和y小于x同时不成立即为相等)lower_bound:查找某个下界upper_bound:查找某个上界equal_range:同时查找上界和下界co...原创 2018-06-04 21:49:54 · 451 阅读 · 0 评论 -
程序设计与算法(三)第七周 输入输出与模板
1 、输入输出流及相关的类 #include &amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;gt;using namespace std;int main(){ int x, y; cin&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;x&amp原创 2018-05-29 16:35:19 · 785 阅读 · 0 评论 -
程序设计与算法(三)第七周 作业
027:简单的SumArray#include &amp;lt;iostream&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;template &amp;lt;class T&amp;gt;T SumArray(T *a, T *b){ T sum=*a; for (int i = 1; i &原创 2018-06-01 11:05:48 · 1416 阅读 · 1 评论 -
c++分割字符串
两种方法,用库函数strtok和find函数,直接上代码#include <iostream>#include <algorithm>#include <cstring>using namespace std;vector<string> split1(const string &str,const string &pat...原创 2018-08-06 21:27:23 · 275 阅读 · 0 评论 -
程序设计与算法(三)第九周 标准模板库STL(二)(2)
STL算法(一)原创 2018-10-06 11:03:54 · 275 阅读 · 0 评论 -
程序设计与算法(三)第九周 标准模板库STL(二)(3)
一个例子#include <iostream>#include <algorithm>#include <vector>#include <iterator>using namespace std;int main(){ int a[5]={1,2,3,2,5}; int b[6]={1,2,3,2,5,6}; ...原创 2018-10-06 16:50:36 · 229 阅读 · 0 评论 -
程序设计与算法(三)第十周 c++新特性和c++高级主题 (1)
原创 2018-10-07 22:09:29 · 213 阅读 · 0 评论 -
程序设计与算法(三)第十周 c++新特性和c++高级主题(3)
强制类型转换 :static_cast、interpret_cast、const_cast、dynamic_cast1、static_cast:static_cast 用来进行比较“自然”和低风险的转换,比如整型和实数型、字符型之间的互相转换。static_cast不能用来在不同类型的指针之间互相转换,也不能用于不同类型的引用之间的转换,也不能用于不同类型的引用之间的转换。#include &...原创 2018-10-14 16:55:17 · 612 阅读 · 1 评论 -
程序设计与算法(三)第十周 c++新特性和c++高级主题 (2)
无序容器(哈希表)//哈希表插入和查询的时间复杂度几乎是常数#include <iostream>#include <string>#include <unordered_map>using namespace std;int main(){ unordered_map<string, int> turingWinner; ...原创 2018-10-08 17:50:51 · 267 阅读 · 0 评论 -
学习 extern 声明全局变量
学习extern之前,先学习两个概念(以下定义来自《c++ primer中文版》(第4版):变量的定义:用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,有且仅有一个定义。声明:用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过extern关键字声明变量而不定义它。下面通俗理解一下,首先,一个变量要赋值,要有一个存储空间,而定义就是为变...原创 2018-12-02 17:28:47 · 364 阅读 · 0 评论 -
const限定符 及其指针 的学习
本文主要区分 const cname* 和 cname *const的区别文中定义出自《c++ primer中文版》(第四版)指向const对象的指针如果指针指向const对象,则不允许用指针来改变其所指的const值。为了保证这个特性,c++语言强制要求指向const对象的指针也必须有const特性。例:#include &lt;iostream&gt;#include &lt;...原创 2018-12-03 09:07:04 · 218 阅读 · 0 评论 -
关于复制构造函数的学习
注:以下概念来自《c++ primer中文版》(第四版)复制构造函数概念:复制构造函数:是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。复制构造函数可以用于:根据另一个同类型的对象显式或隐式初始化一个对象。复制一个对象,将它作为实参传给一个函数。从函数返回时复制一个对象。初始化顺序容器中的元素。根据元素初始化式列表初始化数组元素。根据上...原创 2018-12-07 20:38:01 · 321 阅读 · 0 评论 -
c++函数模板与函数指针
函数指针1、概念:与数据项相似,函数也有地址,函数的地址是存储其机器语言代码的内存的开始地址。获取函数的地址很简单:只要使用函数名(后面不跟参数)即可。也就是说,如果think()是一个函数,则think就是该函数的地址。要将函数作为参数进行传递,必须传递函数名。(《C++ Primer Plus 中文版》(第五版 p216))2、声明函数指针:double(*pf)(int),即声明了一个函...原创 2018-12-12 21:27:26 · 5296 阅读 · 0 评论 -
mooc程序设计与算法(三)第五周 继承和派生
继承和派生概念:定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么,就可以把A作为一个基类,把B作为基类的一个派生类(也称子类)。派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。派生类拥有基类全部成员函数和成员变量。在派生了的各个成员函数中,不能访问基类中的private成员派生类对象的内存空间...原创 2018-04-28 19:47:31 · 332 阅读 · 0 评论 -
c++中vector的排序
具体代码如下:#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){ int n,t; vector<int> a; cin>>n; for(int i=0;i<n;i+...原创 2017-12-17 18:37:47 · 514 阅读 · 0 评论 -
c++中查找字符串,并删除某个特殊子字符串中,s.find的类型问题
下面的例子展示删除字符串”ab”,具体过程是:输入好多句子,然后连成一个句子,调用函数删除。。。上代码,再解释:#include #includeusing namespace std;void clean_str(string *str){ string *s = str; cout<<*s<<endl; string::size_type s_t;原创 2018-02-06 10:56:59 · 4338 阅读 · 0 评论 -
201312-1 出现次数最多的数 (java的结构体的查找和排序)
问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。 输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多...原创 2018-03-08 12:25:21 · 200 阅读 · 0 评论 -
c++中sort的vector中结构体排序的两种方法说明
在对于vector里的结构体用sort排序的时候,一般有两种方法,一种是重载操作符 ‘<’ 另一种是写一个 cmp 函数,下面代码举例说明#include <iostream>#include<vector>#include <algorithm>using namespace std;struct point{ int x; ...原创 2018-02-22 10:12:59 · 1151 阅读 · 0 评论 -
201403-2 窗口
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你...原创 2018-03-09 12:58:41 · 122 阅读 · 0 评论 -
Java中,通过使用Collections.sort对ArrayList进行排序
排序一个java中的结构体,直接上代码:import java.util.*;public class Main { public static Comparator<P> comp = new Comparator<P>(){ public int compare(P p, P t1){ if(p.a!=t1....原创 2018-02-22 18:57:44 · 1165 阅读 · 0 评论 -
201409-2 画图
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算...原创 2018-03-10 08:32:46 · 145 阅读 · 0 评论 -
java 类的深度复制
直接上代码。。。。。。。重写哪部分在代码里有import java.util.*;public class Main { public static void main(String args[]) { Person p1 = new Person("张三",12, "中国", "长沙"); Person p2 = (Person) p1.clone...原创 2018-03-12 10:32:12 · 358 阅读 · 0 评论 -
mooc程序设计与算法(三)第二周 类和构造函数基础
注:本系列是 中国大学mooc(慕课) 程序设计与算法(三)C++面向对象程序设计 的课堂笔记和课后习题,每章一次,下面挂上网址:https://www.icourse163.org/course/PKU-1002029030 路漫漫其修远兮,吾将上下而求索(不知道能不能坚持更完系列)……..一、类成员的可访问范围私有成员(private):只能在成员函数内部访问,要访问一定要通过...原创 2018-04-09 10:41:10 · 507 阅读 · 0 评论 -
mooc程序设计与算法(三)C++面向对象程序设计 类和构造函数基础作业答案
001:编程填空:学生信息处理程序 总时间限制: 1000ms 内存限制: 1024kB 描述 实现一个学生信息处理程序,计算一个学生的四年平均成绩。要求实现一个代表学生的类,并且类中所有成员变量都是【私有的】。补充下列程序中的 Student 类以实现上述功能。#include <iostream>#include <string>#includ...原创 2018-04-09 10:49:07 · 1643 阅读 · 0 评论 -
mooc程序设计与算法(三)第三周 类和对象提高
this指针this 指针,作用是指向成员函数所作用的对象非静态成员函数中可以直接使用this代表指向该函数作用的对象的指针静态成员函数中不能使用this指针,因为静态成员函数并不作用于某一个具体的对象静态成员函数真实的参数个数与写出的个数一样,普通函数多一个,就是this指针#include &lt;iostream&gt;using namespace std;...原创 2018-04-10 12:08:59 · 716 阅读 · 0 评论 -
mooc程序设计与算法(三)第四周 运算符重载
运算符重载的基本概念有需求:要用来对象之间的运算,比如两个复数的对象的相加:a+b(a.r+b.r、a.v+b.v)目的:扩展c++中提供的适用范围,可以作用于对象实质:函数重载。可以写成普通函数的形式和成员函数的形式,使用的时候,就相当于对函数的调用。运算符可以被多次重载,根据操作数的类型决定调用什么函数。重载为成员函数时,参数个数为运算符目数减一...原创 2018-04-16 10:10:04 · 409 阅读 · 0 评论 -
mooc程序设计与算法(三)C++面向对象程序设计 运算符重载 作业
1、MyString 要求输入:abc def123 456要求输出abc,abc,abcdef,def,def123,123,123456,456,456#include <iostream>#include <string>#include <cstring>using namespace std;class M...原创 2018-04-17 22:37:43 · 598 阅读 · 0 评论 -
mooc程序设计与算法(三)C++面向对象程序设计 类和对象提高 编程作业
1:返回什么才好呢 答案:#include <iostream>using namespace std;class A {public: int val; A(inti){ //有参构造函数 val=i; } A(){ //无参构造函数 val=123; }...原创 2018-04-12 21:43:05 · 892 阅读 · 0 评论 -
mooc程序设计与算法(三)C++面向对象程序设计 类和对象提高 编程作业 5:魔兽世界之一:备战
5:魔兽世界之一:备战这道题是典型的,看了题目不想做题系列。。。题目太长,看了,看不懂。。。。后来,上网找了某博客中据说是老师的代码,研究了一下,觉得真的,c++面向对象编程还是很深奥的。。。。下面这段代码是在老师的代码的基础上修改了一下,搞了好久,总算过了。。。下面贴代码,过段时间,这学期老师代码正式贴在官网上了,再来补上老师的大作吧。。。题目:总时间限制: 1000m...原创 2018-04-12 21:51:27 · 518 阅读 · 0 评论 -
mooc程序设计与算法(三)第六周 多态
虚函数构造函数和静态成员函数不能是虚函数多态的表现形式:派生类的指针可以赋值给基类指针通过基类指针用基类和派生类中的同名虚函数时:若该指针指向一个基类的对象,那么被调用是基类的虚函数若该指针指向一个派生类的对象,那么被调用的是派生类的虚函数。派生类的对象可以赋值给基类的引用通过基类引用调用基类和派生类中的同名虚函数时:若该引用引用的是一个基类的对象,那么...原创 2018-05-12 12:56:42 · 815 阅读 · 0 评论 -
iostream迭代器学习
注:以下概念大部分来自《c++ primer 中文版》(第四版)流迭代器主要分为两种:istream_iterator和ostream_iterator。前者用于读取输入流,后者用于写输出流。前者用于读取输入流,后者用于写输出流。这些迭代器将他们所对应的流视为特定类型的元素序列。流迭代器只定义了最基本的迭代器操作:自增、解引用和赋值。流迭代器只定义了最基本的迭代器操作:自增、解引用和赋值...原创 2018-12-06 11:46:48 · 200 阅读 · 0 评论