精华内容
下载资源
问答
  • 2020-02-04 14:25:29

    前言

    排序(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]))
    
    更多相关内容
  • python语言对于计算机专业的学生,不管是计算机软件还是物联网,都是很重要的一种编程语言,python未来在人工智能方向上是会有很大的贡献程度...python学习—–使用列表实现筛选求素数目录一、列表实现筛选求素数的
  • 今天学习带图片列表,实现定制化的列表布局。带图片列表要采用定制的列表布局,配合该布局的数据适配器应该采用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将效果实现
    • 运行代码,收获喜悦。

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

    展开全文
  • 散列表链地址基本思想是将相同散列地址的元素放在同一个单链表中,即称同义词链表。例如此时我们设一个散列函数H(key)=key%n,则可以定义一个一维数组,大小为n,数组元素对应关键字模n所得的数字。 如下图:n为13...

    散列表链地址法基本思想是将相同散列地址的元素放在同一个单链表中,即称同义词链表。例如此时我们设一个散列函数H(key)=key%n,则可以定义一个一维数组,大小为n,数组元素对应关键字模n所得的数字。
    如下图:n为13,各关键字模13后插入对应值的表中。在这里插入图片描述

    代码部分

    存储结构:

    typedef struct hashnode
    {
        int data;
        struct hashnode* next;
    }hashnode,*hashbit;
    

    data存元素值,next指向冲突元素地址。

    相关函数:

    void inithash(hashbit H[],int n)	//初始化
    {
        int i;
        for(i=0;i<n;i++)
        {
            H[i]=new hashnode;
            H[i]->data=i;
            H[i]->next=NULL;
        }
    }
    
    void inserthash(hashbit H[],int x,int n)	//插入
    {
        int i=x%n;
        hashbit p=new hashnode;
        hashbit q=new hashnode;
        q->data=x;
        p=H[i];
        while(p->next!=NULL)
            p=p->next;
        p->next=q;
        q->next=NULL;
    
    }
    
    void searchhash(hashbit H[],int x,int n)  //查找
    {
        int i=x%n;
        hashbit p=new hashnode;
        hashbit q=new hashnode;
        p=H[i];
        while(p->next!=NULL)
        {
            p=p->next;
            if(p->data==x)
            {
                printf("找到该值为H%d上的%d\n",H[i]->data,p->data);
                return;
            }
        }
    		printf("无此元素");
            return;
    }
    
    void deletehash(hashbit H[],int x,int n)		//删除
    {
        int i=x%n;
        hashbit p=new hashnode;
        hashbit q=new hashnode;
        p=H[i];
        while(p->next!=NULL)
        {
            q=p;
            p=p->next;
            if(p->data==x)
            {
                q->next=p->next;
                delete(p);
                return;
            }
        }
            printf("无此元素\n");
            return;
    }
    
    void printhash(hashbit H[],int n)		//输出
    {
        int i;
        hashbit p=new hashnode;
        for(i=0;i<n;i++)
        {
            p=H[i];
            printf("H%-4d",H[i]->data);
            while(p->next!=NULL)
            {
                p=p->next;
                printf("%d ",p->data);
            }
            printf("\n");
        }
    }
    

    主函数

    int main()
    {
        int x,n;
        int i;
        printf("输入散列表长:\n");
        scanf("%d",&n);
        hashbit H[n];
        inithash(H,n);
        int m;
        printf("输入操作1.插入元素 2.删除元素 3.查找元素 4.输出散列表 5.退出:\n");
        while(scanf("%d",&m)!=EOF)
        {
            if(m==1)
            {
                printf("输入插入值:\n");
                scanf("%d",&x);
                inserthash(H,x,n);
            }
            else if(m==2)
            {
                printf("输入删除值:\n");
                scanf("%d",&x);
                deletehash(H,x,n);
            }
            else if(m==3)
            {
                printf("输入查找值:\n");
                scanf("%d",&x);
                searchhash(H,x,n);
            }
            else if(m==4)
            {
                printhash(H,n);
            }
            else if(m==5)
                return 0;
        }
    }
    

    例子检验:

    拿开头的图片为例输入:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • python语言对于计算机专业的学生,...本次博客,林君学长主要带大家了解python中筛选求解素数的原理、列表切片操作、内置函数 enumerate()、filer()的使用、序列解包工作原理以及选择结构和循环结构,以例题编写...

    python语言对于计算机专业的学生,不管是计算机软件还是物联网,都是很重要的一种编程语言,python未来在人工智能方向上是会有很大的贡献程度的,不仅体现在语言灵活多变,还能处理很多文件、图片、图像、等数据。
    本次博客,林君学长主要带大家了解python中以下的方面

    一、列表实现筛选法求素数的原理

    1、基本原理

    首先列出指定范围内所有候选数字,然后从前往后依次选择一个数字去除以后面所有数字,能够被整除的肯定不是素数,把这些数字过滤掉,然后重复这个过程,直到选择的除数大于最大数字的平方根为止。代码主要演示内置函数filter()和切片的用法,实际上这个算法的效率并不是很高。

    2、除此之外,林君学长这里还给大家介绍求素数的三个定理的基本原理

    1)、普通筛选(常用于求解单个素数问题)
    自然数中,除了1和它本身以外不再有其他因数。

    import math
    def func_get_prime(n):
        func = lambda x: not [x%i for i in range(2, int(math.sqrt(x)) + 1) if x%i ==0]
        return filter(func, range(2,n+1))
    print(list(func_get_prime(50)))
    

    运行结果:
    在这里插入图片描述
    2)、Wilson定理(常用与数比较小的情况)
    对于一个任意整数n>1,当且仅当n是一个素数时,(n-1)!+1能够被n整除

    import math
    def prime_of_Wilson(n):
        func = lambda x: True if (math.factorial(x-1)+ 1) % x == 0  else False
        return list(filter(func, range(2,51)))
    print(prime_of_Wilson(50))
    

    运行结果:
    在这里插入图片描述

    3)、 埃拉托色尼筛算法(优化了求解范围素数问题)
    埃拉托色尼算法工作原理:

    • 假定范围内的所有的数都是素数
    • 我们从2开始,只要是2的倍数我们就认为该数不是素数,打标处理
    • 直到判断到n为止我们就可以将所有的非素数打上标记,从而确定了所有的非素数
    import math
    def prime_of_eratosthenes(n):
        primes= [True]*n
        for p in range(2, math.ceil(math.sqrt(n))):
            if primes[p]:
                for i in range(p * 2, n, p):
                    primes[i] = False
        primes = [index + 2 for index, element in enumerate(primes[2:]) if element]
        return primes
    print(prime_of_eratosthenes(50))
    

    运行结果:
    在这里插入图片描述

    二、编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表。

    1、搭建python环境

    1)、运行jupyter notebook在线python编程,如下所示:

    windows命令行输入jupyter notebook运行在线编程环境
    在这里插入图片描述
    web网页创建新的python文件,如下所示:
    在这里插入图片描述
    在以下就可以编辑python文件了!推荐使用jupyter notebook在线编程
    在这里插入图片描述

    2、输入大于2的自然数,并将2到这个数之间的数整合为列表

    maxNumber =int(input('请输入一个大于2的自然数:'))
    lst=list(range(2,maxNumber))
    

    3、将输入的数开根号,方便后面的对比

    m=int(maxNumber**0.5)
    

    4、利用for循环进行数字的筛选,筛选出小于输入数的所有素数

    for index,value in enumerate(lst):
        #如果当前数字已大于最大整数的平方根,结束判断
        if value>m:
            break
        #对该位置之后的元素进行过滤
        lst[index+1:]=filter(lambda x: x%value !=0,lst[index+1:])
    

    5、输出素数列表

    print(lst)
    

    6、shift+enter运行结果

    在这里插入图片描述

    三、列表实现筛选法求素数的完整代码

    1、完整代码

    #输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表
    maxNumber =int(input('请输入一个大于2的自然数:'))
    lst=list(range(2,maxNumber))
    #最大整数的平方根
    m=int(maxNumber**0.5)
    for index,value in enumerate(lst):
        #如果当前数字已大于最大整数的平方根,结束判断
        if value>m:
            break
        #对该位置之后的元素进行过滤
        lst[index+1:]=filter(lambda x: x%value !=0,lst[index+1:])
    print(lst)
    

    对于输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表,则是利用输入数字最大整数的平方根进行对比,通过python特定的库filter()、enumerate()的运用来进行筛选,列出所得的素数
    以上就是本次博客的全部内容啦,希望对小伙伴们学习python有所帮助哦!喜欢的小伙伴们记得点赞哦!遇到问题的小伙伴评论区留言哦,林君学长耐心为大家解答,这个学长不太冷
    陈一月的又一天编程岁月^ _ ^

    展开全文
  • <image src="../../image/v6.png" class="personal_image {{selectArea ? 'rotateRight' :''}}"></image> //三目判断图片要不要旋转180。 测试1 测试2 测试3   //index.js   ...
  • 【数据结构】散列表知识点

    千次阅读 2021-04-16 09:29:56
    散列存储:散列表,采用的存储方式是散列存储。那么何为散列存储呢?散列存储是根据元素的关键字直接计算出该元素的存储地址,又称哈希(Hash)存储。采用散列存储的方式存储数据时,具备的优点是在散列表中检索、...
  • css如何使图片居中对齐?

    千次阅读 2021-06-09 09:53:44
    在前端页面的开发中,图片的显示方法有两种,分别为:img标签显示图片,background属性设置为背景图片显示。下面我们来看一下在这两种情况下设置图片居中的方法。css设置图片居中的方法:1、利用display:table-cell...
  • 公众号如何实现视频列表播放视频的功能 微信公众号推广的40个有效果的方法 在微信公众号中如何添加【自定义菜单】,原创图文教程 精心整理10个高逼格的优质素材(视频、图片)网站 在微信公众号中添加外部的链接图文...
  • 我在做项目的过程中,使用Gilde库进行加载图片,根据产品设计,列表中的图片是需要圆角的,并且有些地方是需要局部圆角的,于是我在网上找了一个RoundCornersTransformation的工具类,可以对部分地方进行圆角绘制,...
  • matlab实现二分法、牛顿与割线

    千次阅读 2021-09-13 07:17:41
    matlab实现二分法、牛顿与割线求方程的解欢迎使用Markdown编辑器二分法二分法的matlab代码功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你...
  • 要求(1)粘贴代码图片(图片需包括行号),代码不可超过6行(争取4行);(2)粘贴结果图片,符合条件的整数有四个。 【程序题】输入三个整数x,y,z,请把这三个数由小到大输出。 【程序题】写出下面代码的运行结果。 def Sum(a,...
  • [图片说明](https://img-ask.csdn.net/upload/202006/04/1591241547_380274.jpg) 如图,想实现由z到zz的效果,自己写了一部分实现代码,但是调试时总找不到问题所在,不知道该如何解决,请教各位大神们指点一二,...
  • 大驼峰命名规则又称骆驼式命名(Camel-Case),是电脑程式编写时的一套命名规则(惯例)。是指混合使用大小写字母来构成变量和函数的名字。 程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的...
  • 即将图像的灰度值按照一定的阈值将其变成只有0(黑色)和255(白色),这样便于...常用方法有直接阈值(全局5+2)、自适应阈值(2) 自定义也是可行的,如将全局平均值、中值等作为阈值,或者局部的中值等作为阈值
  • 列表解决冲突的办法

    千次阅读 2018-03-27 21:14:26
    列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组...
  • pytesseract提取识别图片中的文字

    千次阅读 2021-11-18 11:41:42
    目录 1、获取tesseract版本号 2、获取语言包列表 3、识别图片中的文字 4、获取图片中文字的详细信息 5、识别图片中的文字和位置 6、识别osd信息 7、识别并生成xml文件 避坑指南: pytesseract是对Tesseract-OCR...
  • 移动端各种各样的列表的制作方法(二) by FungLeo前情回顾在上一篇博文《移动端各种各样的列表的制作方法(一)》中,我们通过两个简单的DEMO,演示了一下在移动端H5中的列表制作.不过,这两个演示还是太简单了.可能大家...
  • 最新在写tinymce富文本,这里特别记录一下,以便于以后方便使用,因为也涉及到图片的上传,刚刚使用的时候图片上传这里只能输入地址保存,就想能手动上传,然后在网上看了好多方法,需要这个插件那个插件的感觉很...
  • 《数据结构》-树(孩子链表表示)

    千次阅读 2021-07-25 21:31:28
    双亲表示 孩子链表表示 孩子兄弟表示 孩子链表定义 把每个结点的孩子结点排列起来,看成是一个线性表,且以单链表作为存储结构,则 n 个结点又 n 个孩子链表(叶子的孩子链表为空表)。而 n 个头指针又组成一个...
  • 《网络安全》内容以及解读

    千次阅读 2018-12-09 00:29:14
    上传一篇我自己分析解读的《网络安全》需要记住的几条,并附上《网络安全》详细条款内容。 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑...
  • Android 高效显示Bitmap图片

    万次阅读 2020-09-24 10:11:08
    Android 高效显示Bitmap图片 本文会介绍一些处理与加载Bitmap对象的常用方法,这些技术能够使得程序的UI不会被阻塞,并且可以避免程序超出内存限制。如果我们不注意这些,Bitmap会迅速的消耗掉可用内存从而导致...
  • 这里写自定义目录标题梯度下降算法详解新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 测试建模:功能列表(Function List)

    千次阅读 2017-11-03 16:33:44
    功能列表(Function List)是一种功能测试(Function Testing)的建模方法,在启发式测试策略模型(Heuristic Test Strategy Model)中位于 HTSM -> Product Elements –> Function 分支中。虽然它只覆盖了很小的...
  • 频率采样FIR滤波器设计

    万次阅读 2019-04-14 12:14:57
    频率采样设计FIR滤波器频率采样功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...
  • 高斯伪谱小记

    千次阅读 热门讨论 2021-01-22 09:47:44
    高斯伪谱小记简介新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...
  • 凹包求解之滚球

    千次阅读 热门讨论 2020-08-18 19:22:54
    滚球的思想最初源自于从二维点集重建平面形状的问题,后来笔者将这个思想用于做平面曲线的简化。 例如,下面的平面点集,如何构建其分布区域表示的大致轮廓形状呢? 算法思路的来源-Graham扫描 笔者最初想到...
  • 【编程实践/Python】Python爬取图片,你也可以做到!

    千次阅读 多人点赞 2021-02-22 22:08:03
    Python爬取图片,你也可以做到!0.前言1.你需要的工具2.你可能需要了解的知识3.爬虫流程介绍3.1 解析图片地址3.1.1 怎么看图片的地址3.1.2 怎么找寻所有图片的地址3.1.3小结和说明3.2 确定下载目录3.3 下载图片3.4 ...
  • 如何保存网页上的文字和图片

    千次阅读 2021-06-25 04:20:59
    上网时看到好的图片、文字资料等,该如何保存呢?有些网页上的图片和文字是防复制的,又如何保存呢?文字保存方法1、纯文字内容如果复制的内容是纯文字形式,无表格与图片,还要看你是否要保留其原有的格式及链接,...
  • MFC之列表控件ListCtrl

    千次阅读 多人点赞 2019-09-13 09:57:14
    MFC列表控件ListCtrl如图: 列表控件ListCtrl样式属性(风格)有: Icon大图标,SmallIcon小图标、List列表、Report报告 ,但今天只谈Report报告样式: 一:基本操作 1. (1)InsertItem --- 插入一个主项(行) (2)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,098
精华内容 24,039
关键字:

列表法图片