next

OC与swift混编

烂漫一生 提交于 2020-12-24 07:42:24
1.第三方库的使用 1、第三方库是swift库,导入到swift项目。 用到的文件中需要:import Alamofire 2、第三方库是swift库,导入到OC项目。 不考虑 3、第三方库是OC库,导入到swift项目。 用到的文件中需要:import AFNetworking 4、第三方库是OC库,导入到OC项目。 用到的文件中需要:#import "AFNetworking.h" 但是在swift使用OC第三方时用Pod引入时曾遇见过一个问题,报错找不到该文件。 一般网上的步骤都是: 1,创建桥接文件, 2,配置文件路径 但是编译时报错: 出现问题的原因是podfile文件中少了一句:use_frameworks! 完整的代码为: target 'DaiChaoHeZi' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for DaichaoSwift pod 'SAMKeychain', '~> 1.5.3' pod 'BMKLocationKit' pod 'MJRefresh' end 参考链接:https://blog.csdn.net/kangpengpeng1/article

6-1 单链表逆转

这一生的挚爱 提交于 2020-12-24 07:25:14
6-1 单链表逆转(20 分) 本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse( List L ); 其中 List 结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链表类型 */ L 是给定单链表,函数 Reverse 要返回被逆转后的链表。 裁判测试程序样例: #include <stdio.h> #include <stdlib.h> typedef int ElementType; typedef struct Node *PtrToNode; struct Node { ElementType Data; PtrToNode Next; }; typedef PtrToNode List; List Read(); /* 细节在此不表 */ void Print( List L ); /* 细节在此不表 */ List Reverse( List L ); int main() { List L1, L2; L1 = Read(); L2 = Reverse(L1); Print(L1

PTA——6-1 单链表逆转 (20分)

十年热恋 提交于 2020-12-24 06:54:45
题目地址 本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse ( List L ); 其中 List 结构定义如下: typedef struct Node * PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */ }; typedef PtrToNode List; /* 定义单链表类型 */ L 是给定单链表,函数 Reverse 要返回被逆转后的链表。 裁判测试程序样例: # include <stdio.h> # include <stdlib.h> typedef int ElementType; typedef struct Node * PtrToNode; struct Node { ElementType Data; PtrToNode Next; }; typedef PtrToNode List; List Read (); /* 细节在此不表 */ void Print ( List L ); /* 细节在此不表 */ 题目由两种思路,一是从前往后遍历,同时采用 头插入法 创建一个新的链表;方法二,从前往后遍历,同时修改 List->Next 的指向 第一种后续补充 【第二种思路】 List

Python3玩转单链表——逆转单向链表pythonic版

断了今生、忘了曾经 提交于 2020-12-24 06:21:19
[本文出自天外归云的博客园] 链表是由节点构成的,一个指针代表一个方向,如果一个构成链表的节点都只包含一个指针,那么这个链表就是单向链表。 单向链表中的节点不光有代表方向的指针变量,也有值变量。所以我们定义链表,就是要定义链表中的节点,对链表的操作最后也就是对节点的操作。 这些包含数据的节点们在一种指定的结构下连接起来,成为了一种数据结构——单向链表。以上是我对单向链表的理解。 以下是我用python3对单向链表这种数据结构的一种实现,其中我用到了生成器来完成逆转单向链表这一操作,非常pythonic啊!代码如下: ''' Python版单向链表-单向链表简称单链表 单链表中所包含的基本操作: 初始化 创建 链表生成器 打印 显示调用过程 计算长度 判空 获取 删除 插入 修改 追加 逆转单向链表 ''' class Node(object): # 节点初始化 def __init__ (self, value, p= None): self.value = value self.next = p class LinkList(object): # 初始化单链表 def __init__ (self): self.head = None # 创建单链表 def create(self, node_value_list): self.head = Node(node_value

LeetCode

房东的猫 提交于 2020-12-24 03:50:28
Topic Math Linked List Description https://leetcode.com/problems/add-two-numbers/ You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order , and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. Example 1 : 2->4->3 + 5->6->4 = 7->0->8 Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Explanation: 342 + 465 = 807. Example 2 : Input: l1 = [0], l2 = [0] Output: [0] Example 3 : Input: l1 = [9,9

python2.x与python3.x的区别

我的未来我决定 提交于 2020-12-24 02:29:11
python2:print语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印 python3:print函数,函数就以为这必须要加上括号才能调用,如果接元组对象,可以接收多个位置参数,并可以打印 1、表达式 在 Python 2 中为获得计算表达式,你会键入: X = raw_input ("enter some values) 但在 Python 3 中,你会键入: X = input ("enter some values") 因此,无论我们输入什么,值都会分配给 2 和 3 中的变量 x。当在 Python 2 中输入 2*6 时,结果将是 12,这是评估值。 但是,当在 Python 3 中运行相同的程序时,结果是字符串值。 在这种情况下,它看起来像字符串格式的 2*6。 那么,我们如何获得评估表达式呢? 现在,我们必须使用一个名为 eval 的表达式或函数。 当您在输入之前编写 eval 时,它会将表达式转换为计算值。 x= eval(input("enter some values")) = 12 具体表达式示例: 在 Python 2 中: ? 1 name = input ( "What is your name? " ) print ( "Hello, %s." % name) 然后输出: 在 Python 3 中: ? 1 name

XILINX_zynq_详解(5)

我只是一个虾纸丫 提交于 2020-12-23 20:35:51
下面做一个从uart打印hello world的实验,只用PS,不用PL部分,程序从SD卡启动,跑在PS的内部RAM. zynq 7000的PS虽然也是CPU,但是开发方法不像普通的CPU只需要一个SDK就可以了,它还需要vivado硬件设计软件. 所以ZYNQ 7000的PS开发需要两个工具,一个是vivado-- 另一个是SDK-- . 1. 打开vivado软件-->Create New Project,工程名和目录: 2. next->选RTL Project->Add Sources,Add existing IP和Add constraints界面直接点next 3. New Parts界面 4. 添加IP,在Flow Navigator的IP Integrator下点Create Block Design Create Block Design如下,点OK 在Diagram界面点击Add IP 双击ZYNQ7 Processing System,添加CPU 5. 设置CPU 在Diagram界面点击Run Block Automation,不做修改,点Finish就可以。在Diagram界面双击 进入设置界面,我们把所有的接口去掉,只留下FIXED_IO. 1> PS-PL Configuration->General->Enable Clock Resets-

阿里面试题:说说HashMap的扩容过程?

被刻印的时光 ゝ 提交于 2020-12-23 18:44:44
  这是一道阿里的面试题,考察你对HashMap源码的了解情况,废话不多说,咱们就直接上源码吧! jdk 1.7 源码 void resize( int newCapacity) { Entry[] oldTable = table; // 保存旧数组 int oldCapacity = oldTable.length; if (oldCapacity == MAXIMUM_CAPACITY) { // 判断当前数组大小是否达到最大值 threshold = Integer.MAX_VALUE; return ; } Entry[] newTable = new Entry[newCapacity]; // 创建一个新数组 boolean oldAltHashing = useAltHashing; useAltHashing |= sun.misc.VM.isBooted() && (newCapacity >= Holder.ALTERNATIVE_HASHING_THRESHOLD); boolean rehash = oldAltHashing ^ useAltHashing; // 是否需要重新计算hash值 transfer(newTable, rehash); // 将oldTable的元素迁移到newTable table = newTable; //

node.js 工程规范最佳实践

∥☆過路亽.° 提交于 2020-12-23 11:06:34
经过多个项目的实践和思考,总结出当前规范。不强求别人一定要遵守这个规范,首先自己要尽量遵守这个规范。 一. 模块引用规范 类似如下的形式: const fs = require('fs'); const koa = require('koa'); const utils = require('../utils'); const SECONT = 1000; const MINUTE = SECOND * 60; 规则如下: 1. 模块顺序按照 内置模块、第三方模块、自身文件模块 的顺序引用,并且每个块之间要用空行分开; 2. 模块引用要用 const 定义; 3. 有关联关系的变量要定义在一个块里。 二、模块导出规范 位置需要紧邻在顶部的所有常量定义之下,与最下面的常量之间有一行空格。 模块导出对象时,导出语句需如下格式: const A = 100; exports = module.exports = { module1, module2 }; 除此之外,无特殊情况,不可再有其它地方有导出属性的声明。 特殊情况说明:有时候可能需要在运行时动态导出属性,这时可以在其它地方声明。但是最好避免动态导出。 模块导出函数时,不可使用匿名函数,必须有命名,如下所示: exports = module.exports = function util() { // func body }; 三

手动撸一个JS轮播图

随声附和 提交于 2020-12-23 03:44:04
原理:   将一些图片在一行中平铺,然后计算偏移量再利用定时器实现定时轮播。 步骤一:建立html基本布局 如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>轮播图</title> </head> <body> <div class="container"> <div class="wrap" style="left:-600px;"> <img src="./img/5.jpg" alt=""> <img src="./img/1.jpg" alt=""> <img src="./img/2.jpg" alt=""> <img src="./img/3.jpg" alt=""> <img src="./img/4.jpg" alt=""> <img src="./img/5.jpg" alt=""> <img src="./img/1.jpg" alt=""> </div> <div class="buttons"> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> </div> <a href="javascript:;" class="arrow arrow_left"><</a> <a href