- 博客(22)
- 收藏
- 关注
原创 Python编程:从入门到实践 (五)
第六章 字典#下面是一个简单的字典,存储了有关特定外星人的信息:#在Python中,字典是一系列键-值对。#每个键都与一个值相关联,可以使用键来访问与之相关联的值#可将任何Python对象用作字典中的值#在Python中,字典用放在花括号{}中的一系列键-值对表示#键-值对是两个相关联的值。指定键时,Python将返回与之相关联的值#键和值之间用冒号分隔,而键-值对之间用逗号分隔alien_0 = {'color': 'green', 'points': 5}#要获取与键相关联的值,可依
2021-06-24 20:26:55
202
原创 Python编程:从入门到实践(四)
第五章 if语句条件测试cars = ["audi", "bmw", "subaru", "toyota"]for car in cars: if car == "bmw": print(car.upper()) else: print(car.title())#在Python中检查是否相等时区分大小写,两个大小写不同的值会被视为不相等#如果大小写很重要,这种行为有其优点#但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再
2021-06-22 14:45:08
186
原创 Python编程:从入门到实践(三)
第四章 操作列表学习如何遍历整个列表循环让你能够对列表的每个元素都采取一个或一系列相同的措施遍历整个列表#使用for循环来打印魔术师名单中的所有名字magicians = ['alice', 'david', 'carolina']#for循环让Python从列表magicians中取出一个名字,并存储在变量magician中。#对列表中每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素#另外,编写for循环时,对于用于存储列表中每个值的临时变量,可指定任何名称#在for循环
2021-06-21 16:44:29
305
原创 Python编程:从入门到实践(二)
第三章 列表简介列表是什么列表是由一系列按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。访问列表元素bicycles = ['trek', 'cannondale', 'redline', 'specialized']#索引从0开始print(bicycles[0])print(bicycles[0].title())#Python为访问最后一个列表元素提供了一种特殊语法。#通过将索引指定为-1,可让Python返回最后一个列表元素
2021-06-20 16:08:21
219
原创 python编程:从入门到实践
第一章 起步搭建编程环境备注:#!/usr/bin/env python# -*- coding: utf-8 -*-# author: 'limeng'# time: 2021-06-19 14:33以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。第二章 变量和简单数据类型使用方法修改字符串的大小写title()以首字母大写的方式显示每个单词upper()将字符串改为全部大.
2021-06-20 14:39:57
192
原创 Essential C++课后习题第三章
3-1#include <set>#include <string>#include <iostream>#include <fstream>#include <map>#include <iterator>using namespace std;void initialize_exclusion_set( set<string>& );void process_file( map<str
2021-05-27 20:04:55
282
原创 Essential C++ 课后习题第一章
1-6 编写一个程序,从标准输入设备读取一串整数,并将读入的整数依次放到array及vector,然后遍历这两种容器,求取数值总和。将总和及平均值输出至标准输出设备。#include <iostream>#include <vector>using namespace std;int main(){ int arr[3]; vector<int> a; int x; int sum_arr = 0; int sum_a
2021-04-01 11:27:20
243
原创 Essential C++第二章习题
调用函数2-1(又有问题) while循环那里不能识别输入的char.#include <vector>#include <string>#include <iostream>#include <algorithm>using namespace std;bool fibon_elem(int pos, int &elem){ if(pos <= 0 || pos > 1024) {elem = 0; r
2021-04-01 11:26:28
165
原创 应用层协议
HTTP超文本传输协议HTTP有两类报文:(1)请求报文–从客户向服务器发送请求报文请求报文包含四个部分:1.请求行:包含方法、请求资源的URL、以及HTTP的版本。请求报文的几种方法:OPTION、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT。2.请求首部字段3.请求内容实体4.空行响应报文包含四个部分:1.状态行:响应状态码、HTTP信息2.响应首部字段3.响应内容实体4.空行每一个请求报文发出后,都能收到一个响应报文。响应报文的第一次就是状态
2021-03-24 10:18:34
142
原创 运输层协议
运输层运输层有两个主要的协议:TCP和UDP。他们都有复用和分用,以及检错的功能。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工通信的可靠信道。当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。TCPTCP的主要特点是:(1)面向连接;(2)每一条TCP连接只能是点对点的(一对一);(3)提供可靠交付的服务;(4)提供全双工通信;(5)面向字节流。TCP首部字段:一个TCP报文段分为首部和数据两部分,
2021-03-23 16:53:16
3276
原创 计算机网络体系结构
计算机网络体系结构:七层OSI体系结构:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层;四层TCP/IP模型:网络接口层、网际层、传输层、应用层;五层综合模型:物理层、数据链路层、网络层、运输层、应用层;应用层:应用层是体系结构中的最高层,应用层的任务是通过应用进程间的交互俩完成特定网络应用。应用程协议定义的是应用进程间通信和交互的规则。比如域名系统DNS、超文本传输协议HTTP、支持电子邮件的SMTP协议。运输层:运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服.
2021-03-22 16:01:05
229
原创 排序算法(不全)
排序算法冒泡排序int a[]={1,43,5,23,43564,2,543,5312,6,132}; auto length = sizeof(a)/sizeof(a[0]); for(int n = 0;n < length; n++) { for(int i = 0;i < length-1; i++) { if(a[i]>a[i+1]) {
2021-01-03 10:23:42
200
原创 Vector越界问题
Vector数组越界问题在写 for 循环时候,当条件为 i < = v.size()-1的时候, 很容易出现数组越界。当v的size是0的时候,从数学上,v.size()-1 = -1,要知道v.size()是个无符号整数,根据C++的规则表达式v.size()-1 也是个无符号整数,这样-1转成无符号数的值是4294967295。添加越界检测// if out of bounds, writes a message (could throw an exception) Object &
2020-12-30 11:27:42
1862
原创 JosePhus 问题
JosePhus 问题Josephus问题是下面的游戏:N个人编号1~N,围坐成一个圆圈。从一号人开始传递一个热土豆。经过M次传递后拿着热土豆的人被清除离座,围坐的圆圈缩紧,由坐在被清除人后面的人拿起热土豆继续进行游戏。最后整下的人获胜。因此,如果M=0和N=5,则游戏人依次被清除,5号游戏人获胜。如果M=1和N=5,那么被清除的人的顺序是2,4,1,5。a.编写一个程序解决在M和N为一般值下的Josephus问题,应使所编程序尽可能地高效率,要确保每个单元都能被清除。b.这个程序的运行时间是多少?
2020-12-29 17:58:00
490
原创 计算两个有序表交集并集
计算两个有序表交集并集感觉还有一些问题,只记录一下源代码,后续还会改动#include <iostream>#include <list> using namespace std; void printList(list<int> t){ auto itr = t.begin(); while (itr!=t.end()) { cout << *itr++<<" "; } cout << e
2020-12-29 15:29:37
282
原创 通过只调整链来交换两个相邻的元素
通过只调整链来交换两个相邻的元素单链表/*通过调整链来交换两个相邻的元素*//*单链表*/#include<iostream> using namespace std; struct ListNode{ int value; ListNode * pNext;}; //单链表中ListNode的结构: // struct ListNode { // int val; //当前结点的值 // ListNode *next; //指向下一个结
2020-12-29 11:05:20
715
原创 打印元素
打印元素给定一个表L和另一个表P,他们包含以升序排列的整数。操作printLots(L,P)将打印L中那些由P所指定的位置上的元素,写出过程printLots(L,P)。只可使用公有型STL容器操作,该过程的运行时间是多少?#include <list>#include <iostream>#include <algorithm>#include <iterator>//迭代器是一种检查容器内元素并遍历元素的数据类型。//迭代器提供对一个容器中的
2020-12-28 11:24:27
146
原创 const限定符总结
const限定符总结定义一种常量,它的值不能被改变,可以用关键字const对变量的类型加以限定。const对象一旦被创建后其值就不能再改变,所以const对象必须初始化初始化和const只能在const类型的对象上执行不改变其内容的操作。默认情况下,const对象被设定为仅在文件内有效。当多个文件中出现了同名的const变量时,等同于在不同文件中分别定义了独立的变量。如果只在一个文件中定义了const,而在其他多个文件中声明并使用它,解决的办法是对于const变量不管是定义还是声明都添加ext
2020-12-28 10:48:52
108
原创 求解零点问题
求解函数的零点问题描述:数值分析中一个重要的问题是对某个任意的函数f找出方程f(x)=0的一个解。如果该函数是连续的并有两个点low和high使得f(low)和f(high)符号相反,那么在low和high之间必然存在一个根,并且这个根可以通过折半查找求得。写出一个函数,以f、low、high为参数,并且解出一个零点。为保证能够正常终止,你必须要做什么?代码实现#include<iostream>using namespace std;const double tol = 0.0
2020-12-22 12:27:58
387
原创 最大的子序列和问题
最大的子序列和问题问题描述:最大的子序列和问题,给定(有可能负的整数)a1,a2,…,aN,求最大子序列和(为方便起见,如果所有整数均为负数,则最大子序列的和为0)第一种算法时间复杂度为O(N3)int maxSubSum1( const vector<int> & a ){ int maxSum = 0; for(int i = 0; i < a.size(); ++i) for(int j = i; j < a.size(); ++j)
2020-12-21 21:06:07
294
1
原创 数据结构与算法分析 C++语言描述 第四版课后练习
第一章编写一个程序解决选择问题,令k=N/2.得到所编程序对于N的不同值的运行时间(语法方面很多不熟悉,所以做了相关的笔记注释)*选择问题是指 设有一组N个数而要确定其中第K个最大者考虑用两种方法实现这个问题一种是将N个数读进一个数组里,再通过冒泡排序,以递减顺序将数组排序,然后返回位置k上的元素另一种方法是先排序再比较#include <iostream>#include <ctime>//为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <
2020-12-18 16:26:18
2474
原创 VScode配置C++/C语言环境
VScode配置C++/C语言环境也是WSLMakefile文件内容#### PROJECT SETTINGS ##### The name of the release executable to be createdBIN_RELEASE_NAME := hello# The name of the debug executable to be createdBIN_DEBUG_NAME := $(BIN_RELEASE_NAME)-g# Compiler usedCXX ?= g
2020-12-16 10:11:24
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人