arr

php 关于php创建 json文件 和 对内容增删改查 示例

与世无争的帅哥 提交于 2020-02-16 21:24:04
1 <?php 2 //fopen($file,'w'); //打开文件/创建文件 3 //file_put_contents($file,$content)//写入文件 4 //file_get_contents($file)//读取文件 5 //json_encode();//对变量json编码 6 //json_decode();//对 JSON 解码 7 //json_last_error();//返回最后发送的错误 8 9 $arr=array('1','2','3'); 10 $file='../json/dom.json'; 11 $set=file_put_contents($file,json_encode($arr)); 12 var_dump($set); 13 $get=file_get_contents($file); 14 $msg=json_decode($get); 15 var_dump($msg); 16 echo $msg['0']; 17 fopen('../json/dom2.json','a'); 18 /* $msg=json_decode($file,true); 19 var_dump($msg); 20 print_r($msg); */ 21 /* $arr=array('name'=>'lizi','age'=>'24');

Java学习--数组

心已入冬 提交于 2020-02-16 11:36:56
文章目录 数组 概念 定义 访问 注意 常见操作 数组 概念 容器:是将多个数据存储到一起,每个数据称为该容器的元素。 数组:是存储数据长度固定的容器,保证多个数据的数据类型要一致。 定义 1)定义一(动态初始化:指定长度) 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]; 2)定义二(静态初始化:指定内容) 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…} 3)定义三(省略静态初始化) 数据类型[] 数组名 = {元素1,元素2,元素3…} 访问 索引:每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引 (index),可以通过数组的索引访问到数组中的元素。 注意 1)索引越界 int[] arr = {1,2,3}; System.out.println(arr[3]); 创建数组,赋值3个元素,数组的索引就是0,1,2,没有3索引,不能访问数组中不存在的索引,程序运 行后,将会抛出 ArrayIndexOutOfBoundsException 数组越界异常。 2)空指针异常 int[] arr = {1,2,3}; arr = null; System.out.println(arr[0]); arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了

PTA L1-027 出租 (20分)

亡梦爱人 提交于 2020-02-16 01:11:55
一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。 本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。 输入格式: 输入在一行中给出一个由11位数字组成的手机号码。 输出格式: 为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。 输入样例: 18013820100 输出样例: int[] arr = new int[]{8,3,2,1,0}; int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4}; AC代码 # include <iostream> using namespace std ; int main ( ) { string s ; int a [ 10 ] = { 0 } ; int f1 [ 11 ] ; int f2 [ 10 ] ; cin >> s ; int i , j , k , m , n ; m = 0 , n = 0 ; for ( char c : s ) a [ c - '0' ] ++ ;

基数排序

China☆狼群 提交于 2020-02-14 21:43:33
在800万数据的时候比希尔 要快 ,比快速 ,归并要快 但是占内存空间过大,8000万,会造成堆溢出,现在写法不能比较负数 需要创建一个二维数组用于排序,一个一位数组用于下标存储。 package a; import java.util.Arrays; public class Radix { public static void main(String[] args) { int var = 8000000; // int var = 8; int [] arr = new int[var]; for (int i = 0; i < arr.length; i++) { arr[i] = (int)(Math.random()*900000000); } long be = System.currentTimeMillis(); // int [] arr = {53, 3, 542, 748, 14, 214}; radix(arr); long end = System.currentTimeMillis(); System.out.println(end-be); System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr)); // int max = findmaxlength(arr); }

选择排序SelectionSort

元气小坏坏 提交于 2020-02-14 19:14:37
转自 https://www.cnblogs.com/shen-hua/p/5424059.html a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在 n-i+1(i=1 , 2 , …n-1) 个记录中选取关键字最小的记录作为有序序列中第 i 个记录。基于此思想的算法主要有 简单选择排序 、树型选择排序和 堆排序 。(这里只介绍常用的简单选择排序) b) 简单选择排序的基本思想:给定数组:int[] arr={ 里面 n 个数据 } ;第 1 趟排序,在待排序数据arr[1]~arr[n] 中选出最小的数据,将它与arrr[1] 交换;第 2 趟,在待排序数据arr[2]~arr[n] 中选出最小的数据,将它与 r[2] 交换;以此类推,第 i 趟在待排序数据arr[i]~arr[n] 中选出最小的数据,将它与 r[i] 交换,直到全部排序完成。 c) 举例:数组 int[] arr={5,2,8,4,9,1}; ------------------------------------------------------- 第一趟排序: 原始数据: 5 2 8 4 9 1 最小数据 1 ,把 1 放在首位,也就是 1 和 5 互换位置, 排序结果: 1 2 8 4 9 5 --------------------

Java数据结构——归并排序

我怕爱的太早我们不能终老 提交于 2020-02-13 17:35:20
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是一种稳定的排序方法。 比如初始数组:[3,5,6,7,8,4,1,2] ①分成了两个大小相等的子数组:[3,5,6,7],[8,4,1,2] ②再划分成了四个大小相等的子数组:[3,5],[6,7],[8,4],[1,2] ③此时,left < right 还是成立,再分:[3],[5],[6],[7],[8],[4],[1],[2] 此时,每个数组中的left == right,再根据递归的策略,每两个进行归并: merge([3],[5]) 得到 [3,5] merge([6],[7]) 得到[6,7] merge([3],[5],[6],[7]) 得到[3,5,6,7] 最终得到 有序数组。 import java.util.Arrays; import java.util.Date; public class Main { public static void main(String[] args) { int[] arr = new int[10]; int[] temp = new

常用算法之----选择排序

让人想犯罪 __ 提交于 2020-02-13 16:41:36
Java中的经典算法之选择排序(SelectionSort) a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在 n-i+1(i=1 , 2 , …n-1) 个记录中选取关键字最小的记录作为有序序列中第 i 个记录。基于此思想的算法主要有 简单选择排序 、树型选择排序和 堆排序 。 (这里只介绍常用的简单选择排序) b) 简单选择排序的基本思想:给定数组:int[] arr={ 里面 n 个数据 } ; 第 1 趟 排序,在待排序数据arr[1]~arr[n] 中选出最小的 数据,将它与arrr[1] 交换 ;第 2 趟,在待排序 数据arr[2]~arr[n] 中选出最小的 数据,将它与 r[2] 交换 ;以此类推,第 i 趟在待排序 数据arr[i]~arr[n] 中选出最小的 数据,将它与 r[i] 交换 ,直到全部排序完成。 c) 举例:数组 int[] arr={5,2,8,4,9,1}; ------------------------------------------------------- 第一趟排序: 原始数据: 5 2 8 4 9 1 最小数据 1 ,把 1 放在首位,也就是 1 和 5 互换位置, 排序结果: 1 2 8 4 9 5 -----------------------------

分析Java中的length和length()

痴心易碎 提交于 2020-02-13 12:39:20
在不适用任何带有自动补全功能的IDE的情况下,我们怎么获取一个数组的长度?如何获取字符串的长度? 这里我们先举用实例去分析一下: int[] arr=new int[3]; System.out.println(arr.length);//使用length获取数组的长度 String srt=”abc”; System.out.println(str.length): //使用length()获取字符串的长度 那么我们问题是,为什么数组有length属性,而字符串有length()方法? 为什么数组有length属性? 我们已经知道数组是一个容器,它包含的是同一类型的固定数量的值,一旦数组被创建,它的长度就是固定的了,数组的长度我们可以作为final来理解,因此长度可以作为一个数组属性。 使用表达式创建数组方式如下,该方式指明了元素类型、数组的维度、以及至少一个维度的数组的长度。 该声明方式是符合要求的,因为他指定了一个维度的长度(该数组的类型为int,维度为2,第一维度的长度为3) int[][] arr = new int[3][]; 使用数组初始化的方式创建数组时需要提供所有的初始值。形式是使用{和}将所有初始值括在一起并用,隔开。 int[] arr = {1,2,3}; 大专栏 分析Java中的length和length() 注: 这里可能会有一个疑问

Leetcode 1345:跳跃游戏IV(超详细的解法!!!)

丶灬走出姿态 提交于 2020-02-13 11:16:45
给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标: i + 1 满足: i + 1 < arr.length i - 1 满足: i - 1 >= 0 j 满足: arr[i] == arr[j] 且 i != j 请你返回到达数组最后一个元素的下标处所需的 最少操作次数 。 注意:任何时候你都不能跳到数组外面。 示例 1: 输入:arr = [100,-23,-23,404,100,23,23,23,3,404] 输出:3 解释:那你需要跳跃 3 次,下标依次为 0 --> 4 --> 3 --> 9 。下标 9 为数组的最后一个元素的下标。 示例 2: 输入:arr = [7] 输出:0 解释:一开始就在最后一个元素处,所以你不需要跳跃。 示例 3: 输入:arr = [7,6,9,6,9,6,9,7] 输出:1 解释:你可以直接从下标 0 处跳到下标 7 处,也就是数组的最后一个元素处。 示例 4: 输入:arr = [6,1,9] 输出:2 示例 5: 输入:arr = [11,22,7,7,7,7,7,7,7,22,13] 输出:3 提示: 1 <= arr.length <= 5 * 10^4 -10^8 <= arr[i] <= 10^8 解题思路 最少操作次数问题,那么可以考虑通过 bfs 来处理

选择排序法

这一生的挚爱 提交于 2020-02-13 10:57:11
选择排序法是一种常见的排序方法 package com.hase; import java.util.Arrays; public class TestSort { public static void main(String[] args) { //定义数组arr int[] arr = {1,2,3,4,9,8,7}; //调用selectSort方法 selectSort(arr); //打印排序后的数组 System.out.println(Arrays.toString(arr)); } /** * 对数组进行选择排序 * @param arr int类型的数组 */ public static void selectSort(int[] arr) { //从第一个下标位置0作为起始下标位置开始,每次起始下标位置往后推一个 for(int i = 0; i < arr.length - 1; i++) { int index = i; //和本轮起始元素下标之后的元素依次进行比对,有比当前元素小的就把它的坐标赋给本轮起始元素下标 for(int j = i + 1; j < arr.length; j++) { if(arr[index] > arr[j]) { index = j; } } //如果本轮比对之后当前元素的下标和本轮最小的下标不相同