c/c++:有序链表的归并
1 |
|
1 | #include <iostream> |
1 | #include <iostream> |
1 | #include <iostream> |
数据结构实验之链表一:顺序建立链表 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44#include <iostream>
#include <cstring>
using namespace std;
struct node
{
int data;
struct node *next;
};
int main ()
{
std::ios::sync_with_stdio(false);
struct node *head, *tail, *p;
head = new node;
head->next = NULL;
tail = head;
int N ;
int tmpN;
cin>>N;
{
tmpN = N;
while(tmpN--)
{
p = new node;
p->next = NULL;
cin >> p->data ;
tail->next = p;
tail = p;
}
p = head->next;
while(p->next!=NULL)
{
cout<<p->data<<' ';
p=p->next;
}
cout<<p->data<<' ';
cout<<endl;
}
return 0;
}
(背包问题?)[https://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3092.html] 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41#include <iostream>
#include <cstring>
using namespace std;
int main()
{
//std::ios::sync_with_stdio(false);
int n;
int sum ;
int w[2][20000];
int sV[20000];
int i = 0;
while (cin >> n >> sum)
{
i = 1;
while(i <= n)
{
cin>>w[0][i] >> w[1][i];
i++;
}
memset(sV,0,sizeof(sV));
for(int j = 0; j<= n ; j++)
{
for( int jj = sum ; jj >= w[0][j]; jj -- )
{
sV[jj] = max(
sV[jj],
sV[jj-w[0][j]]+w[1][j]
);
}
// for(int z = 0; z<=sum ;z++){
// cout<<sV[z]<<"\t";
// }
// cout<<endl;
}
cout<< sV[sum]<<endl;
}
return 0 ;
}
scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用 scanf 函数时要加上#include <stdio.h>
。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>
。)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
规定符 | 备注 |
---|---|
%d | 十进制有符号整数 |
%u | 十进制无符号整数 |
%f | 浮点数 |
%s | 字符串 |
%c | 单个字符 |
%p | 指针的值 |
%e | 指数形式的浮点数 |
%x, %X | 无符号以十六进制表示的整数 |
%o | 无符号以八进制表示的整数 |
%g | 把输出的值按照%e或者%f类型中输出长度较小的方式输出 |
%p | 输出地址符 |
%lu | 32位无符号整数 |
%llu | 64位无符号整数 |
该部分为 php 面向对象的入门部分,较为肤浅且参杂过分已经不是主流的知识。
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day21-ajax(灰常重要)
1、应用场景
asynchronous javascript and xml === ajax
注册用户的时候,要写用户名,写了用户名之后,只要你的光标离开这个input框,我就立马知道你这用户名是否被注册过(ajax) 让ajax去和服务器进行交互,交互完毕之后,收到服务器返回的结果,根据结果我再判断页面到底应该显示什么
页面没有刷新
在当前页面中通过ajax和服务器进行交互,达到局部刷新的效果
2、ajax使用
使用起来非常的简单,ajax就是js中的一个对象,通过调用这个对象的方法就完成了和服务器的交互
创建对象
谷歌、火狐、Opera、IE7以上
var xhr = new XMLHttpRequest(); //主流浏览器中创建ajax对象的方式
var xhr = new ActiveXObject("Microsoft.XMLHTTP"); //垃圾浏览器的方式
var xhr = new ActiveXObject("Msxml2.XMLHTTP");
var xhr = new ActiveXObject("Msxml2.XMLHTTP.3.0");
var xhr = new ActiveXObject("Msxml2.XMLHTTP.5.0");
var xhr = new ActiveXObject("Msxml2.XMLHTTP.6.0"); //IE维护的最高版本
get方式
xhr.open('get', '1.php?username=goudan&password=123');
xhr.send();
post方式
xhr.open('post', 'post.php');
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.send('username=goudan&password=123');
onreadystatechange :当ajax状态改变的时候触发这个事件
readyState(01234) : ajax的状态
0:初始化
1:执行了open方法
2:执行了send方法
3:得到了部分响应数据
4:得到了全部的响应数据
这里面我们关心的就是4,到4的时候数据就过来了
status:http的状态码 200
responseText:现在都是使用这个
responseXML:这个现在已经不用了
将JSON字符串转化为js对象
//第一种方式
var obj = JSON.parse(xhr.responseText);
//第二种方式
var obj = eval('(' + xhr.responseText + ')');
将js对象转化为JSON格式的字符串
var str = JSON.stringify(obj);
3、ajax函数封装
encodeURIComponent
4、同步和异步
同步:前端在等待请求结果,结果来了之后代码再往下进行
异步:前端不等待请求结果,结果来了直接执行提前写好的回调函数即可
【注】事件绑定的代码我们都要写到open方法的上面。
5、跨域
localhost 127.0.0.1 不是同一个域
localhost www.wokao.com
在php文件中中写如下代码
header('Access-Control-Allow-Origin:*');
(2)jsonp json with padding
6、用户注册
该部分为 php 面向对象的入门部分,较为肤浅且参杂过分已经不是主流的知识。
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day20-自动播放选项卡、懒加载、瀑布流
location
href,protocol,hostname,port,pathname,search
location.href = 'http://www.baidu.com' 或者 location = 'http://www.baidu.com'
iframe
a b c d(location.href )
parent.location.href 父级实现跳转
top.location.href 最顶层的实现跳转
reload(); //刷新
parent.location.reload();
top.location.reload();
正则对象
和php中的是一样的,只不过写法稍微有点不同
1、js验证表单内容(获取焦点)
document.fm.username.focus();
2、select下拉框
selectedIndex
options
充话费效果
3、自动播放选项卡
4、懒加载(延迟加载)
5、瀑布流
选择法、冒泡法、快速排序 (下去要查一下这些算法)
该部分为 php 面向对象的入门部分,较为肤浅且参杂过分已经不是主流的知识。
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day19-BOM、表单
<html>
<head>
<meta charset='utf-8'>
</head>
<body>
</body>
</html>
BOM:browser object model 没有标准
window的属性和方法
document
history
location
navigator
event
setInterval
setTimeout
DOM:document object model w3c(标准统一)
1、事件
事件绑定
addEventListener(事件 'click', 方法) 主流浏览器
attachEvent(事件 'onclick', 方法) 垃圾(ie)浏览器
removeEventListener
detachEvent
事件对象
事件映射到js中也是一个对象,这个对象的获取方法不一样
主流获取对象方式:在闭包中写一个参数ev
ie浏览器获取方式:是window的一个属性 window.event
//兼容性写法获取事件对象
var oEvent = ev || event;
取消事件冒泡 cancelBubble\stopPropagation()
上面两个都是event事件的属性和方法
cancelBubble:属性设置为true 均可以
stopPropagation():方法 谷歌、火狐可以,ie不可以
子对象绑架父对象
事件源对象
srcElement 谷歌和ie可以 火狐不可以
target 谷歌和火狐可以 ie不可以
拖拽效果
获取鼠标的x和y坐标
oEvent.clientX, oEvent.clientY
键盘事件
event.keyCode
2、小游戏
3、小知识点
禁止鼠标右键(oncontextmenu)
超链接和点击事件同时触发
表单里面的 type=submit有默认提交的功能,也可以阻止
return false; //万能方法
下面两个有的不行,慎重使用
oEvent.returnValue=false
oEvent.preventDefault()
4、window对象
打印效果
window.print();
弹窗效果:window.alert\window.confirm\window.prompt
打开和关闭
open
close
history
back()
go()
location
href,protocol,hostname,port,pathname,search
location.href
reload();
navigator
navigator.appName Web浏览器全称 都是netscape
navigator.appVersion Web浏览器厂商和版本的详细字符串
navigator.userAgent 客户端绝大部分信息
navagator.platform 浏览器运行所在的操作系统
5、正则对象
简单
6、表单对象
三种查找方法
submit()方法
method属性
action属性
失去焦点得到焦点
js验证表单内容
附加功能:
积分功能:黄瓜5 西瓜3 葡萄1
吃完:弹出小红旗
开始:10 ====》(20-100)
封装pdo版本的model类
该部分为 php 面向对象的入门部分,较为肤浅且参杂过分已经不是主流的知识。
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day18-DOM操作、吸顶条、事件绑定
<html>
<head>
<meta charset='utf-8'>
</head>
<body>
</body>
</html>
1、全选、全不选、反选
2、处理className兼容
IETester(用来查看所有ie浏览器的兼容性)
//getElementsByName 必须是document对象
getElementById 必须是document对象
getElementsByTagName document和父对象都可以
getElementsByClassName document和父对象都可以
3、DOM节点操作
children 所有的子对象 (直接子节点)
parentNode 父对象
火狐或者谷歌
firstElementChild 长子
lastElementChild 老幺
previousElementSibling 哥哥
nextElementSibling 弟弟
IE 6/7/8
firstChild
lastChild
previousSibling
nextSibling
tagName //得到标签名,得到的为大写的标签名
4、添加删除节点
createElement 添加节点 只能通过document来添加
removeChild 删除节点 父对象或者document都可以
appendChild 追加节点
insertBefore 插入节点
div中添加图片
5、setAttribute getAttribute
通过点和中括号只能获取官方属性
通过上面两个可以获取自定义的和官方的
6、添加上传文件
7、弹出图片
8、吸顶条
offsetTop 距离顶部的值
offsetLeft 距离左边的值
offsetWidth 宽度
offsetHeight 高度
以上属性,只能读取,不能设置
onscroll事件
clientWidth : 在h5标准下,获取使用documentElement 不在的话使用body
clientHeight : 在h5标准下,获取使用documentElement 不在的话使用body
document.body.scrollTop : 获取卷起的高度
吸顶条实现
吸顶条抖动问题
9、右底部广告、短信倒计时
右下角弹出大娟
思考:qq头像资料