精华内容
下载资源
问答
  • 前言 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或...通过对列表里的元素大小排序进行阐述。 原文地址:https://blog.zeruns.tech/index.php/archives/297/ 一、选择排序 选择...

    前言

    排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过对列表里的元素大小排序进行阐述。
    原文地址:https://blog.zeruns.tech/index.php/archives/297/

    一、选择排序法

    选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

    1. 算法步骤

    1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
    2. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
    3. 重复第二步,直到所有元素均排序完毕

    2. 动图演示

    3. Python 代码实现

    def selectionSort(arr):
        # 求出arr的长度
        n = len(arr)
        # 外层循环确定比较的轮数,x是下标,arr[x]在外层循环中代表arr中所有元素
        for x in range(n - 1):
            # 内层循环开始比较
            for y in range(x + 1, n):
                # arr[x]在for y 循环中是代表特定的元素,arr[y]代表任意一个arr任意一个元素。
                if arr[x] > arr[y]:
                    # 让arr[x]和arr列表中每一个元素比较,找出小的
                    arr[x], arr[y] = arr[y], arr[x]
        return arr
    print(selectionSort([1, 3, 1, 4, 5, 2, 0]))
    

    二、冒泡排序法

    冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
    冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来说并没有什么太大作用。

    1. 算法步骤

    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    2. 动图演示

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AlO6NxBK-1580797495960)(https://tc.zeruns.tech/images/2020/01/31/640-1.gif)]

    3. Python 代码实现

    def bubbleSort(arr):
        n = len(arr)
        for x in range(n - 1):
            for y in range(n - 1 - x):
                if arr[y] > arr[y + 1]:
                    arr[y], arr[y + 1] = arr[y + 1], arr[y]
        return arr
    print(bubbleSort([1, 3, 1, 4, 5, 2, 0]))
    

    三、插入排序法

    插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
    插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。

    1. 算法步骤

    1. 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。
    2. 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)

    2. 动图演示

    3. Python 代码实现

    def insertionSort(arr):
        for i in range(1, len(arr)):
            key = arr[i]
            j = i - 1
            while j >= 0 and key < arr[j]:
                arr[j + 1] = arr[j]
                j -= 1
            arr[j + 1] = key
        return arr
    print(insertionSort([1, 3, 1, 4, 5, 2, 0]))
    
    展开全文
  • <image src="../../image/v6.png" class="personal_image {{selectArea ? 'rotateRight' :''}}"></image> //三目判断图片要不要旋转180。 测试1 测试2 测试3   //index.js   ...

     有问题可以扫码加我微信,有偿解决问题。承接小程序开发。

    微信小程序开发交流qq群   173683895  、 526474645 ;

    正文:

    先上效果图:

    //index.wxml

     

    <view class="phone_one" bindtap="clickPerson">
     <view class="phone_personal">{{firstPerson}}</view>
     <image src="../../image/v6.png" class="personal_image {{selectArea ? 'rotateRight' :''}}"></image> //三目法判断图片要不要旋转180。
     </view>
      
    <view class="person_box">
      <view class="phone_select" hidden="{{selectPerson}}">
        <view bindtap="mySelect">测试1</view>
        <view bindtap="mySelect">测试2</view>
        <view bindtap="mySelect">测试3</view>
      </view>
    </view>
    
     
    //index.js
    
     
    Page({
     data:{
      selectPerson:true,
      firstPerson:'个人',
      selectArea:false,
      },
     //点击选择类型
     clickPerson:function(){
      var selectPerson = this.data.selectPerson;
      if(selectPerson == true){
       this.setData({
       selectArea:true,
       selectPerson:false,
     })
      }else{
       this.setData({
       selectArea:false,
       selectPerson:true,
     })
      }
     } ,
     //点击切换
     mySelect:function(e){
      this.setData({
       firstPerson:e.target.dataset.me,
       selectPerson:true,
       selectArea:false,
      })
     },
    }}
    
     

    //index.wxss

     

    
     
    
     
    .phone_personal{
      width: 100%;
      color:rgb(34, 154, 181);
      height:100rpx;
      line-height:100rpx;
      text-align: center;
    }
    .phone_one{
      display: flex; //用flex布局更方便。
      position: relative;
      justify-content: space-between;
      background-color:rgb(239, 239, 239);
      width:90%;
      height:100rpx;
      margin:0 auto;
      border-radius: 10rpx;
      border-bottom:2rpx solid rgb(255, 255, 255);
    }
    .person_box{
      position: relative;
    }
    .phone_select{
      margin-top:0;
      z-index: 100;
      position: absolute; //小程序中z-index和absolute需要同时存在,元素才能脱离文档。
    }
    .select_one{
      text-align: center;
      background-color:rgb(239, 239, 239);
      width:676rpx;  //脱离文档后元素width不能再用百分比。
      height:100rpx;
      line-height:100rpx;
      margin:0 5%;
      border-bottom:2rpx solid rgb(255, 255, 255);
    }
    .personal_image{
      z-index: 100;
      position: absolute;
      right:2.5%;
      width: 34rpx;
      height: 20rpx;
      margin:40rpx 20rpx 40rpx 0;
      transition: All 0.4s ease; 
      -webkit-transition: All 0.4s ease;
    }
    .rotateRight{
      transform: rotate(180deg); //180°旋转图片。
    }

     

    
     

     

    
     
    展开全文
  • 【来源】bigocheatsheet.com 【图片】http://img.blog.csdn.net/20130506092206358

    【来源】bigocheatsheet.com

    【图片】https://img-blog.csdn.net/20130506092206358





    展开全文
  • 今天学习带图片列表,实现定制化的列表布局。带图片列表要采用定制的列表布局,配合该布局的数据适配器应该采用SimpleAdapter适配器。该适配器使用的数据都是HashMap构成的列表LIst,里面的每一个元素对应...

    今天学习带图片的列表,实现定制化的列表布局。带图片的列表要采用定制的列表布局,配合该布局的数据适配器应该采用SimpleAdapter适配器。该适配器使用的数据都是HashMap构成的列表LIst,里面的每一个元素对应ListView的每一行。HashMap的每个键值数据<key,value>映射到布局文件对应ID的组件。

    案例效果

    在这里插入图片描述

    程序步骤

    创建项目,项目名为My fourApplication

    在这里插入图片描述
    点进Project—>Empty Activity—>然后名字改下,finish即可。成功之后,点击箭头运行程序。
    在这里插入图片描述
    程序正常可以跑成功hello world字样,下面我们继续

    上传图片资源到drawable

    请添加图片描述请添加图片描述请添加图片描述
    大家将这三张图另存为,第一张图叫做lock.gjf,第二张图xj.gif,第三张图cw.gif.因此将这些文件拖拽到
    在这里插入图片描述
    千万不要出现v24,因为这样,之前写程序都无法实现。

    搭建activity_main.xml

    后面有对其内容做详细讲解

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        tools:context=".MainActivity">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/img"
            android:layout_margin="5px"/>
    
        <LinearLayout
    
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/title"
                android:textSize="18dp"
             />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/info"
                android:textSize="14dp"/>
        </LinearLayout>
    
    </LinearLayout>
    

    LinearLayout详解

    细心的小伙伴会发现,我们用到了两个线性布局,第一个线性布局我们水平方向可以保证我们的图片不在字体的上面,大家可以理解为混合排列。设置了基本的width与height和方向后,其他可以不做设置

    ImageView讲解

    就是放图片用的控件,边缘5像素单位,包含自身内容大小,id必须设置,后面java控制它进行Map的放置。

    TextView讲解

    对id、width与height和做相应的设置。字体大小也要设置。

    MainActivity.java文件搭建

    java文件需要新建一个SimpleAdapter对象,需要的5个参数以此是this,HashMap构成的列表,行布局文件(activity_main.xml),HashMap的键名(title,info和img),布局文件的组件(title,info,img)。

    package com.example.myfourapplication;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.app.ListActivity;
    import android.os.Bundle;
    import android.widget.SimpleAdapter;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class MainActivity extends ListActivity {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.activity_main);
            SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.activity_main,
                    new String[]{"title","info","img"},
                    new int[]{R.id.title,R.id.info,R.id.img});
            setListAdapter(adapter);
        }
        private List<Map<String,Object>> getData() {
            String[] title = {
                    "企业会话",
                    "办公邮件",
                    "财务信息查询",
            };
            String[] info = {
                    "嘿,你好",
                    "写信",
                    "发补贴了",
            };
            int[] imageId = {
                    R.drawable.xj,
                    R.drawable.lock,
                    R.drawable.cw
            };
            List<Map<String,Object>>listItems = new ArrayList<Map<String,Object>>();
            //通过循环将图片放到集合里
            for(int i=0;i<title.length;i++) {
                Map<String,Object> map = new HashMap<String,Object>();
                map.put("title",title[i]);
                map.put("info",info[i]);
                map.put("img",imageId[i]);
                listItems.add(map);
            }
    
            return listItems;
        }
    
    }
    
    

    如果大家对hash不是很了解,博主写了这篇文章,跟随浙江大学《数据结构》学的,由c语言实现的,可以参考一下(先看理论后看实践)
    50、(c语言)散列表(分离链接法)基本操作集(含测试用例)
    49、(c语言)散列表(开放定址法-平方探测法)基本操作集(含测试用例)
    48、散列表基本常识(必知必会·理论篇)
    在这里总结一下这几行java代码运行逻辑,先要激活元素,适配器创建,字符串,id放到数组里,然后设置数组适配器,包括里面内容具体填充,比如将标题中“企业会话”放进去,“嘿,你好”和图片里的文件名放进去。最后设置临时变量接受值,不断遍历塞进去,最后不要忘记返回这个listitem,listitem一个数组集合。

    运行程序

    将程序运行获得最终结果

    结果图片

    在这里插入图片描述

    总结

    • 创建新项目,跑成功hello world
    • 上传图片资源文件
    • 搭建布局文件
    • 用java将效果实现
    • 运行代码,收获喜悦。

    很高兴呢博文能帮助到大家!

    展开全文
  • python语言对于计算机专业的学生,...本次博客,林君学长主要带大家了解python中筛选求解素数的原理、列表切片操作、内置函数 enumerate()、filer()的使用、序列解包工作原理以及选择结构和循环结构,以例题编写...
  • 正则表达式:(不推荐) # -*- coding: utf-8 -*- """ Created on Thu Jun 1 16:22:10 2017 @author: qiu """ import urllib import re ##下载网页 def get_content(url): ''' @url:需要下载的网址 下载网址 ...
  • 双向链表 头插 尾插

    千次阅读 2019-04-23 10:40:24
    双向链表 头插欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 如果你用了RN,你就可以在app运行时动态去拉取最新的代码,将图片和js代码一并下载后解压使用。 压缩资源文件 有些资源文件是必须要随着app一并发布的,对于这样的文件,可以采用压缩存储的方式,在需要资源的...
  • c语言中的牛顿割线

    千次阅读 2019-05-14 21:25:55
    牛顿割线求根牛顿割线c语言实现合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...
  • 频率采样FIR滤波器设计

    千次阅读 2019-04-14 12:14:57
    频率采样设计FIR滤波器频率采样功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...
  • 雅可比迭代欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 这里写自定义目录标题梯度下降算法详解新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 即将图像的灰度值按照一定的阈值将其变成只有0(黑色)和255(白色),这样便于...常用方法有直接阈值(全局5+2)、自适应阈值(2) 自定义也是可行的,如将全局平均值、中值等作为阈值,或者局部的中值等作为阈值
  • Python爬虫——爬取网站的图片

    万次阅读 多人点赞 2015-11-19 15:04:58
    字典里面TableInfo的值是列表列表中的每个值又是字典,title是url编码后的中文,FilePathe就是图片路径。   返回后的json串通过js的处理后拼接,再放入到前面那个页面的div里面,做到滚动显示。   ...
  • 灰度差分统计计算图像的对比度

    千次阅读 2019-01-11 21:44:10
    灰度差分统计计算图像的对比度插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式...
  • Bundle adjustment-光束平差介绍

    千次阅读 2017-08-04 14:45:21
    定义列表 代码块 脚注 数学公式 UML 图 离线写博客 浏览器兼容关键词 摄影测量 解析空中三角测量 光束平差 解析空中三角测量定义:解析空中三角测量指的是利用摄影测量解析的方法,确定摄影区
  • 视频插帧算法之光流

    千次阅读 2021-01-31 00:12:02
    视频插帧算法之光流视频插帧算法光流稀疏光流演示稠密光流演示如何补帧合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定...
  • 文章目录列表列表创建追加元素插入元素替换元素删除元素 列表列表(List)也是一种序列结构,和元组不一样,列表具有可变性,可以追加、插入...[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接...
  • 曼-肯德尔(Mann-Kendall)趋势检验在matlab上的实现

    万次阅读 多人点赞 2018-06-12 11:33:31
    原理和计算步骤 案例 计算福建龙岩市的长汀、上杭、漳平、永定四个县市的1960-2013年的年际气温MK统计量。...每个县市的UF、UB值以excel文件形式输出到matlab脚本所在路径,并且会生成图片。 ...
  • 异步时钟处理之结绳1

    千次阅读 2019-08-23 21:13:49
    异步时钟域处理之结绳1异步时钟域结绳结绳时序图功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左...
  • SWOT分析(引用)

    千次阅读 2012-06-02 19:49:51
    SWOT分析常常被用于制定集团发展战略和分析竞争对手情况,在战略分析中,它是最常用的方法之一。SWOT分析主要有以下三个内容:  (1)分析环境因素  运用各种调查研究方法,分析出企业所处的各种环境...
  • 移动端各种各样的列表的制作方法(二) by FungLeo前情回顾在上一篇博文《移动端各种各样的列表的制作方法(一)》中,我们通过两个简单的DEMO,演示了一下在移动端H5中的列表制作.不过,这两个演示还是太简单了.可能大家...
  • 熵值原理介绍及matlab实现代码

    千次阅读 2019-12-14 15:44:49
    简单介绍熵值新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...
  • Qt 之 QSS(样式表语

    万次阅读 多人点赞 2016-06-16 15:35:31
    声明部分的规则是一个属性值对(property: value)列表,包含在花括号中,以分号分隔。例如: QPushButton { color : red ; background-color : white } 参考助手: Qt Style Sheets Reference 中 ...
  • 本文主要是根据给同学讲解ListView控件显示图片写的一篇文章,主要包括:第一步 设计界面框架同时添加ImageList控件 第二步 使用OpenFileDialog控件打开显示图片 第三步 显示图片列表至ListView控件中 第四步 通过...
  • 线性探测的查找函数

    千次阅读 2018-06-05 19:33:52
    线性探测的查找函数(18 分)试实现线性探测的查找函数。函数接口定义:Position Find( HashTable H, ElementType Key ); 其中HashTable是开放地址散列表,定义如下:#define MAXTABLESIZE 100000 /* 允许开辟...
  • 区块链基础:散列 (Hashing)

    万次阅读 2019-05-10 10:49:05
    如果用散列运算数据1(可能是一份电子表格),而用散列运算数据2(可能是一张图片),这两者产生了相同的输出,那么这个碰撞冲突就发生了。 加密散列函数,其安全性的重要性,在我们描述区块链和散列部分时...
  • 位移指令实现乘法、除计算

    千次阅读 2020-01-12 01:00:06
    位移指令实现乘法、除计算前言乘法思路0思路1思路2功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • QTableWidget中表格显示图片

    千次阅读 2017-10-21 16:24:23
    QTableWidget中的表格显示图片有几种方式: 需要先将图片加载为资源。 1.直接在创建QTableWidgetItem的时候创建,如 tableWdiget->setItem(0,1,new QTableWidgetItem(QIcon(":/image/cpu")," ")); 2.通过在...
  • 欢迎使用Markdown编辑器写博客 ...图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,367
精华内容 20,546
关键字:

列表法图片