前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >VisJS 随机图

VisJS 随机图

作者头像
全栈程序员站长
发布于 2022-07-10 05:03:07
发布于 2022-07-10 05:03:07
45300
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是全栈君。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!doctype html>
<html>
<head>
    <title>Random nodes</title>
    
    <style type="text/css">
        body {
            font: 13pt "courier new";
        }
        #mynetwork {
            width: 600px;
            height: 600px;
            border: 8px solid blueviolet;
        }
    </style>
    
    <script type="text/javascript" src="VisJS/dist/vis.js"></script>
    
    <script type="text/javascript">
        function draw(){
            var nodes = [];
            var edges = [];
            var countConnected = [];
            var nodeCount = document.getElementById( "nodeCount" ).value;
            for( var i = 0; i < nodeCount; ++i ){
                nodes.push( { id: i, label: String( i ) } );
                countConnected[i] = 0;
                if( i == 1 ){
                    edges.push( { from: i, to: 0 } );
                    countConnected[i]++;
                    countConnected[0]++;
                }
                else if( i > 1 ){
                    var rand = Math.floor( Math.random() * edges.length * 2 );
                    var limit = countConnected.length;
                    var val = 0;
                    var j = 0;
                    while( val < rand && j < limit ){
                        val += countConnected[j];
                        j++;
                    }
                    edges.push( { from: i, to: j } );
                    countConnected[i]++;
                    countConnected[j]++;
                }
            }
            var container = document.getElementById( "mynetwork" );
            var data = { nodes: nodes, edges: edges };
            var options = { edges: {}, stabilize: false };
            var net = new vis.Network( container, data, options );
        }
    </script>
</head>

<body onload="draw();">
    <form onsubmit="draw(); return false;">
        <label for="nodeCount">Number of nodes:</label>
        <input id="nodeCount" type="text" value="10" style="width: 50px;">
        <input type="submit" value="Go">
    </form>

    <br>

    <div id="mynetwork"></div>
</body>
</html>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115529.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年2月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iOS - 老生常谈内存管理(三):ARC 面世
ARC全称Automatic Reference Counting,自动引用计数内存管理,是苹果在 iOS 5、OS X Lion 引入的新的内存管理技术。ARC是一种编译器功能,它通过LLVM编译器和Runtime协作来进行自动管理内存。LLVM编译器会在编译时在合适的地方为 OC 对象插入retain、release和autorelease代码来自动管理对象的内存,省去了在MRC手动引用计数下手动插入这些代码的工作,减轻了开发者的工作量,让开发者可以专注于应用程序的代码、对象图以及对象间的关系上。   本文通过讲解MRC到ARC的转变、ARC规则以及使用注意,来帮助大家掌握iOS的内存管理。   下图是苹果官方文档给出的从MRC到ARC的转变。
师大小海腾
2020/04/24
2.2K0
iOS - 老生常谈内存管理(三):ARC 面世
iOS应用开发:什么是ARC
ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。 该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一
猿人谷
2018/01/17
1.1K0
iOS应用开发:什么是ARC
iOS 开发:彻底理解 iOS 内存管理(ARC 篇)
「引用计数式内存管理」的本质部分在 ARC 中并没有改变,ARC 只是自动帮我们处理了「引用计数」的相关部分。
程序员充电站
2021/11/24
6180
iOS内存管理-基本概念整理
主要内容: 1.内存区域划分 2.内存管理/引用计数 3.MRC手动管理引用计数 4.ARC自动引用计数 5.内存泄漏问题 6.野指针问题
梧雨北辰
2019/10/15
1.1K0
《Objective-C高级编程》温故知新之"自动引用计数"
1、使用alloc、new、copy、mutableCopy的意味着自己生成的对象只有自己持有
Dwyane
2018/08/03
6450
《Objective-C高级编程》温故知新之"自动引用计数"
浅谈 iOS ARC 内存管理
在 ARC 环境下,id 类型和对象类型和 C 语言其他类型不同,类型前必须加上所有权的修饰符。 所有权修饰符总共有4种:
s_在路上
2019/03/04
1.5K0
iOS_理解“属性”(property)这一概念
​ “属性”(property)是Objective-C的一项特性,用于封装对象中的数据。OC对象通常会把其所需要的数据保存为各种实例变量。实例变量一般通过“存取方法”(access method)来访问。其中“获取方法”(getter)用于读取变量值,而“设置方法”(setter)用于写入变量值。(这一概念已经定型,并且经由“属性”这一特性而成为Objective-C 2.0的一部分)开发者可以令编译器自动编写与属性相关的存取方法。也可以使用“点语法”(dot syntax)更为容易地依照类对象来访问存取其中的数据。下面介绍与属性相关的细节。
mikimo
2022/07/20
6230
strong,weak, retain, assign的区别@property的参数
strong,weak, retain, assign的区别@property的参数 先说经验 使用场合 copy:NSString,block, weak:UI控件,代理 strong:一般对象、自定义对象 在OC中:默认对对象都是强引用;如果对象没有强引用会被立即释放 assign:基本数据类型,结构体,枚举,非OC对象类型 以下扯淡的比较多 strong与weak是由ARC新引入的对象变量属性 xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和assign,是不支
用户1941540
2018/05/11
1.8K0
Objective-C 内存管理之 _ARC
变量修饰符,主要用来标识对象的生命周期.在手动内存管理方式中没有这些概念. ARC 环境下变量全部权修饰符主要有以下几个:
全栈程序员站长
2022/07/08
5820
面试驱动技术 - Block看我就够了【干货】
Block 在 iOS 算比较常见常用且常考的了,现在面试中,要么没面试题,有面试题的,基本都会考到 block 的点。本文特别干!(但是初中级iOSer应该能有所收获~)
小蠢驴打代码
2019/03/15
7900
面试驱动技术 - Block看我就够了【干货】
OC知识--彻底理解内存管理(MRC、ARC)
本文首发于我的个人博客:『不羁阁』 https://bujige.net 文章链接:https://bujige.net/blog/iOS-Memory-management.html 1. 什么是内存管理 程序在运行的过程中通常通过以下行为,来增加程序的的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 而一个移动设备的内存是有限的,每个软件所能占用的内存也是有限的 当程序所占用的内存较多时,系统就会发出内存警告,这时就得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象
程序员充电站
2018/05/31
4.6K0
OC - 属性关键字和所有权修饰符
网络配图 目录 1. 属性关键字  1.1 原子性  1.2 读写权限  1.3 内存管理  1.4 可空性 2. 所有权修饰符 3. 相关面试题 参考 1. 属性关键字有哪些? 分类 属性关键字 原子性 atomic、nonatomic 读写权限 readwrite、readonly、setter、getter 内存管理 assign、weak、unsafe_unretained、retain、strong、copy 可空性 (nullable、_Nullable 、__nullable)
师大小海腾
2020/04/16
1.4K0
OC - 属性关键字和所有权修饰符
iOS 内存管理相关面试题
保证任何时候指向对象的指针个数和对象的引用计数相同,多一个指针指向这个对象这个对象的引用计数就加1,少一个指针指向这个对象这个对象的引用计数就减1。没有指针指向这个对象对象就被释放了。
iOSSir
2019/06/14
1.6K0
内存管理、属性关键字
每当对象创建出来,它的生命就已经开始了,一直到操作系统释放了 该对象,对象的生命才结束
Helloted
2022/06/07
4480
《Objective-C-高级编程》干货三部曲(一):引用计数篇
总结了Effective Objective-C之后,还想读一本进阶的iOS书,毫不犹豫选中了《Objective-C 高级编程》:
用户1740424
2018/07/23
1.8K0
《Objective-C-高级编程》干货三部曲(一):引用计数篇
iOS @property探究(一): 基础详解你要知道的@property都在这里
你要知道的@property都在这里 本文大纲 Apple Adopting Modern Objective-C翻译 @property基本用法 @property修饰符详解 @property进阶话题: 深入代码理解 Apple在Adopting Modern Objective-C一文中介绍了现代化OC的写法,其中就介绍尽量使用@property定义类的属性,先来看看苹果是怎么介绍property的。 Apple Official Property Introduction Objective-C的属
WWWWDotPNG
2018/04/10
1.7K0
iOS面试题梳理(一)
序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡。矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装、继承、多态。它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定、动态加载等)。总体来讲,OC确实是一门不错的编程语言。 Obje
Jacklin
2018/05/15
1.1K0
OC - Block 详解
通过 Clang 将以下 Block 代码转换为 C++ 代码,来分析 Block 的底层实现。
师大小海腾
2020/04/16
3.2K0
OC - Block 详解
OC优化指南
a) Reusing UITableViewCell:利用cellWithTableView:cellIdentifier:nibName: b) Reusing Images/ Cache Data:imageNamed做了个很重要的事情:此方法cache了图片。但是这种方法只能从bundle里取出图片,即,不可以通过此方法从网络下载或者本地加载。其他方法,诸如[UIImage alloc] initWithContentOfFile:]或者 [UIImage alloc] initWithData] 则不会自动cache数据 c) 减少准备时间,在展示前将数据准备就绪 d) 善用DrawRect方法,速度比通过nib读取或者addSubView方法快很多,原因在于drawRect是GPU方法,而GPU方法在渲染或者显示UI时更快。 e) 切记设置自定义View的backgroundColor为white,默认为black f) 如果app有太多的子类或者一个复杂的结构,考虑通过代码来draw,让GPU来加速过程 g) Cache the hight。因为如果计算hight的过程很慢,则会影响tableView的渲染 h) Opaque。如果一个View是透明的,则iOS需要在一个像素上渲染两次或多次,因为一个像素在那时候属于多个view。请设置opaque为YES i) 尽量降低Graphical Effects
nimomeng
2018/09/13
8260
Block原理探究(下篇)-捕获变量分析及__block原理
主要内容: 1.分析Block捕获外部变量的过程 2.理解Block修改外部变量的限制 3.分析__block存储域类说明符的原理 4.理解__block变量的存储域 5.探究Block对对象的捕获过程 6.Block的循环引用问题
梧雨北辰
2019/10/08
1.7K0
Block原理探究(下篇)-捕获变量分析及__block原理
推荐阅读
相关推荐
iOS - 老生常谈内存管理(三):ARC 面世
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验