精华内容
下载资源
问答
  • 列表式的 Viterbi 译码算法 Matlab实现

    千次阅读 2019-06-16 15:14:36
    程序下载链接:代码 ... 传统Viterbi译码算法只保留一条最佳路径, 该算法指出当进入每一状态的最佳路径与进入该状态的第二条最佳路径“太近”时就发出重传该帧的请求。...列表式的 Viterbi 译码算法...

    程序下载链接:代码

    论文下载链接:https://pan.baidu.com/s/1bsb_Lyu4A7SZ5WN3giG7tw 密码:tseg

    传统Viterbi译码算法只保留一条最佳路径, 该算法指出当进入每一状态的最佳路径与进入该状态的第二条最佳路径“太近”时就发出重传该帧的请求。但是他们都没有利用第二条最佳路径、第三条最佳路径等的信息来进行译码。 

    列表式的 Viterbi 译码算法提出保留多条最佳路径,然后通过CRC判断这些最佳路径是不是对,若CRC错误,则删除当前路径,然后选择第二条最佳路径。如下图所示

    a. 计算沿第l 条最佳路径的度量差值并存储在 AbsoluteDiff 的相应位置。

    b. 在 AbsoluteDiff 分别找前l 行的最小的值并将其时刻存储在 MergeTime 中, 并分别计算穿过该时刻的候选路径的累积路径度量。

    c. 在 b 中所求的l 个候选路径的累积路径度量中选择度量最大的路径即为第l +1个最佳路径,设该路径为l′,在 MergeTime( l′ )和 MergeTime( l )中存储汇合时刻。

    d. 将相应候选路径的相应汇入点扣除(即设相应 AbsoluteDiff 为无穷大)。

    展开全文
  • App主界面交互框架(其中包括标签式、跳板式、列表式、旋转木马、抽屉式、点聚式、陈列馆式、瀑布流)

    掌握常见的 APP 应用界面交互框架,了解他们各自的优缺点,使用时才能游刃有余。其中包括标签式、跳板式、列表式和旋转木马等。

    一、标签式

    优点:1、当前位置入口清晰 2、轻松在各入口间频繁跳转且不会迷失方向3、直接展现最重要入口的内容信息
    缺点:1、入口较多时候,模式笨重。


    二、跳板式

    优点:1、各入口清晰 2、快速找到入口位置。

    缺点:1、无法在多入口间灵活跳转,不适合多任务操作 2、容易形成更深的路径 3、不能直接展现入口内容 4、不能显示太多入口次级内容


    三、列表式

    优点:1、层次展示清晰 2、可展示较长的标题 3、可展示次级内容
    缺点:1、同级内容过多时,浏览体验易产生疲劳 2、排版灵活性不是很高 3、只能通过排列顺序、内容帅选、颜色来区分各入口重要程度


    四、旋转木马

    优点:1、单页面内容整体性强 2、左右切换操作流畅

    缺点:1、不适合展示过多页面 2、页面之间不能跳跃查看 3、视觉容易疲劳


    五、抽屉式

    优点:1、兼容多种模式 2、扩展性好

    缺点:1、隐藏其他入口 2、对入口交互的功能可见性要求高 3、对排版要求高


    六、点聚式

    优点:1、灵活 2、展示方式有趣 3、界面更开阔
    缺点:1、隐藏框架中其他入口 2、对入口交互的功能可见性要求高


    七、陈列馆式

    优点:1、直观展现各项内容 2、方便浏览经常更新的内容

    缺点:1、不适合展现顶层入口框架 2、界面内容容易过多,显得杂乱


    八、瀑布式

    优点:1、内容显示明了。

    缺点:1、容易发生空间位置迷失 2、浏览一段时间后,容易产生疲劳感



    展开全文
  • 本软件主要是音乐播放器的歌词与播放同步显示,希望大家能够多多学习,能够能对大家有所帮助。 代码:音乐播放器歌词列表式同步显示功能源码.rar
    本软件主要是音乐播放器的歌词与播放同步显示,希望大家能够多多学习,能够能对大家有所帮助。
    1.jpg

    代码:音乐播放器歌词列表式同步显示功能源码.rar
    展开全文
  • 、 核心代码:  File fatherFile = new File(path); File[] files = fatherFile.listFiles();  效果图:    实现这种列表式的目录,用直接读取目录下文件方法会比较简单,但是如果要根据文
    、    核心代码:
                                    
    File fatherFile = new File(path);
    File[] files = fatherFile.listFiles();

             效果图:

                   

             实现这种列表式的目录,用直接读取目录下文件方法会比较简单,但是如果要根据文件类型从所有文件中分类,那就用ContentProvider去查询数据库方式会更有效率;


    实现代码:

    FileListActivity.java

    package com.example.d_readandwritetextfile;
    
    import java.io.File;
    import java.util.ArrayList;
    
    import com.example.d_readandwritetextfile.entity.FileEntity;
    import com.example.d_readandwritetextfile.entity.FileEntity.Type;
    
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.os.Environment;
    import android.os.Handler;
    import android.os.Message;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    /**
     * 文件列表 界面
     * @author Administrator
     *
     */
    public class FileListActivity extends Activity implements OnClickListener{
    	
    	private ListView mListView;
    	private Button btnComfirm;
    	private MyFileAdapter mAdapter;
    	private Context mContext;
    	private File currentFile;
    	String sdRootPath;
    	
    	private ArrayList<FileEntity> mList;
    	
    	private Handler mHandler;
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_filelist);
    		mHandler = new Handler(){
    			@Override
    			public void handleMessage(Message msg) {
    				super.handleMessage(msg);
    				switch (msg.what) {
    				case 1:
    					if(mAdapter ==null){
    						mAdapter = new MyFileAdapter(mContext, mList);
    						mListView.setAdapter(mAdapter);
    					}else{
    						mAdapter.notifyDataSetChanged();
    					}
    					
    					break;
    				case 2:
    					
    					break;
    
    				default:
    					break;
    				}
    			}
    		};
    		
    		mContext = this;
    		mList = new ArrayList<>();
    		sdRootPath =Environment.getExternalStorageDirectory().getAbsolutePath();
    		currentFile = new File(sdRootPath);
    		System.out.println(sdRootPath);
    		initView();
    		getData(sdRootPath);
    		
    		
    	}
    	
    	@Override
    	public void onBackPressed() {
    //		super.onBackPressed();
    		System.out.println("onBackPressed...");
    		if(sdRootPath.equals(currentFile.getAbsolutePath())){
    			System.out.println("已经到了根目录...");
    			return ;
    		}
    		
    		String parentPath = currentFile.getParent();
    		currentFile = new File(parentPath);
    		getData(parentPath);
    	}
    	
    	private void initView() {
    		mListView = (ListView) findViewById(R.id.listView1);
    		btnComfirm = (Button) findViewById(R.id.button1);
    		
    		mListView.setOnItemClickListener(new OnItemClickListener() {
    
    			@Override
    			public void onItemClick(AdapterView<?> parent, View view,
    					int position, long id) {
    				final FileEntity entity = mList.get(position);
    				if(entity.getFileType() == Type.FLODER){
    					currentFile = new File(entity.getFilePath());
    					getData(entity.getFilePath());
    				}else if(entity.getFileType() == Type.FILE){
    					
    					runOnUiThread(new Runnable() {
    						
    						@Override
    						public void run() {
    							Toast.makeText(mContext, entity.getFilePath()+"  "+entity.getFileName(),
    									1).show();
    						}
    					});
    				}
    				
    			}
    		});
    	}
    	
    	private void getData(final String path) {
    		new Thread(){
    			@Override
    			public void run() {
    				super.run();
    				
    				findAllFiles(path);
    			}
    		}.start();
    
    	}
    
    	@Override
    	public void onClick(View v) {
    		switch (v.getId()) {
    		case R.id.button1:
    			setResult(100);
    			finish();
    			break;
    
    		default:
    			break;
    		}
    		
    	}
    	
    	/**
    	 * 查找path地址下所有文件
    	 * @param path
    	 */
    	public void findAllFiles(String path) {
    		mList.clear();
    		
    		if(path ==null ||path.equals("")){
    			return;
    		}
    		File fatherFile = new File(path);
    		File[] files = fatherFile.listFiles();
    		if (files != null && files.length > 0) {
    			for (int i = 0; i < files.length; i++) {
    				FileEntity entity = new FileEntity();
    				boolean isDirectory = files[i].isDirectory();
    				if(isDirectory ==true){
    					entity.setFileType(Type.FLODER);
    //					entity.setFileName(files[i].getPath());
    				}else{
    					entity.setFileType(Type.FILE);
    				}
    				entity.setFileName(files[i].getName().toString());
    				entity.setFilePath(files[i].getAbsolutePath());
    				entity.setFileSize(files[i].length()+"");
    				mList.add(entity);
    			}
    		}
    		mHandler.sendEmptyMessage(1);
    		
    	}
    	
    	
    	class MyFileAdapter extends BaseAdapter {
    		private Context mContext;
    		private ArrayList<FileEntity> mAList;
    		private LayoutInflater mInflater;
    		
    		
    
    		public MyFileAdapter(Context mContext, ArrayList<FileEntity> mList) {
    			super();
    			this.mContext = mContext;
    			this.mAList = mList;
    			mInflater = LayoutInflater.from(mContext);
    		}
    
    		@Override
    		public int getCount() {
    			// TODO Auto-generated method stub
    			return mAList.size();
    		}
    
    		@Override
    		public Object getItem(int position) {
    			// TODO Auto-generated method stub
    			return mAList.get(position);
    		}
    
    		@Override
    		public long getItemId(int position) {
    			return position;
    		}
    
    		@Override
    		public int getItemViewType(int position) {
    			if(mAList.get(position).getFileType() == Type.FLODER){
    				return 0;
    			}else{
    				return 1;
    			}
    		}
    		
    		@Override
    		public int getViewTypeCount() {
    			return 2;
    		}
    		
    		@Override
    		public View getView(int position, View convertView, ViewGroup parent) {
    //			System.out.println("position-->"+position+"    ---convertView--"+convertView);
    			ViewHolder holder = null;
    			int type = getItemViewType(position);
    			FileEntity entity = mAList.get(position);
    			
    			if(convertView == null){
    				holder = new ViewHolder();
    				switch (type) {
    				case 0://folder
    					convertView = mInflater.inflate(R.layout.item_listview, parent, false);
    					holder.iv = (ImageView) convertView.findViewById(R.id.item_imageview);
    					holder.tv = (TextView) convertView.findViewById(R.id.item_textview);
    					break;
    				case 1://file
    					convertView = mInflater.inflate(R.layout.item_listview, parent, false);
    					holder.iv = (ImageView) convertView.findViewById(R.id.item_imageview);
    					holder.tv = (TextView) convertView.findViewById(R.id.item_textview);
    					
    					break;
    
    				default:
    					break;
    					
    				}
    				convertView.setTag(holder);
    			}else {
    				holder = (ViewHolder) convertView.getTag();
    			}
    			
    			switch (type) {
    			case 0:
    				holder.iv.setImageResource(R.drawable.folder_125);
    				holder.tv.setText(entity.getFileName());
    				break;
    			case 1:
    				holder.iv.setImageResource(R.drawable.file);
    				holder.tv.setText(entity.getFileName());
    				
    				break;
    
    			default:
    				break;
    			}
    			
    			
    			return convertView;
    		}
    		
    	}
    	
    	class ViewHolder {
    		ImageView iv;
    		TextView tv;
    	}
    
    }
    


    FileEntity.java

    package com.example.d_readandwritetextfile.entity;
    
    public class FileEntity {
    	
    	public enum Type{
    		FLODER,FILE
    	}
    	private String filePath;
    	private String fileName;
    	private String fileSize;
    	private Type fileType;
    	
    	
    	public String getFilePath() {
    		return filePath;
    	}
    	public void setFilePath(String filePath) {
    		this.filePath = filePath;
    	}
    	public String getFileName() {
    		return fileName;
    	}
    	public void setFileName(String fileName) {
    		this.fileName = fileName;
    	}
    	public String getFileSize() {
    		return fileSize;
    	}
    	public void setFileSize(String fileSize) {
    		this.fileSize = fileSize;
    	}
    	public Type getFileType() {
    		return fileType;
    	}
    	public void setFileType(Type fileType) {
    		this.fileType = fileType;
    	}
    	
    	
    
    }
    




    activity_filelist.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="60dp" >
    
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_marginRight="14dp"
                android:onClick="onClick"
                android:text="确定" />
            
            <View 
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#666"
                android:layout_alignParentBottom="true"
                />
    
        </RelativeLayout>
    
        <ListView
            android:id="@+id/listView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    
    </LinearLayout>
    


    item_listview.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:orientation="horizontal" >
    
        <ImageView
            android:id="@+id/item_imageview"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginLeft="10dp"
            android:src="@drawable/folder_125" 
            android:scaleType="fitXY"
            />
    
        <TextView
            android:id="@+id/item_textview"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="10dp"
            android:text="TextView"
            android:gravity="center"
             />
    
    </LinearLayout>
    


       ,




    展开全文
  • 1.首先在列表模板中存在相应的div。 [!--show.listpage--]   2./e/class/t_functions.php function sys_ShowListMorePage函数的内容中: $firststr='页次'.$page.'/'.$totalpage.' '; Php文件中设置想要的页面显示...
  • 源码地址:http://download.csdn.net/detail/zztigyk/6560243
  • 这些控件都是以横纵坐标来表示单元格的,即我们只需要获取被点中的行(纵坐标)和被点中的列即可。行一般都可以直接用获取,例如ListView中,获取被点中的行可以用SelectedItems属性;...例如ListView中,有8列,它们的...
  • Python列表推导

    万次阅读 多人点赞 2019-05-18 00:51:24
    Python列表推导 列表推导是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表. 一、range()函数 python的range()函数可用来创建一个整数列表,一般用在 for 循环中. range()语法:...
  • 列表推导与字典推导,滚雪球学 Python

    千次阅读 多人点赞 2021-03-03 21:50:58
    列表推导、字典推导、集合推导、生成器初识
  • 列表推导

    千次阅读 2016-08-05 17:52:07
    列表推导(list comprehension)是利用其他列表创建新列表(的一种方法。它的工作方式类似于for循环,也很简单: 1、listL = [int(i) for i in listL]//将字符串列表转换成整型列表 2、listL = [4, 0, 0, 2, 0...
  • 列表推导的使用

    2018-05-24 23:39:00
    列表推导是一种轻量级的循环创建列表列表生成是一种简化代码的优美方式以下使用代码,展示一下列表推导的使用:1.生成一个0-9的列表2.根据已有的列表快速创建一个新列表3.根据存在列表创建嵌套列表4.使用if...
  • Python之列表推导

    万次阅读 2018-01-04 20:00:39
    如下是Python官方文档中列表推导部分的译文,笔者对于该部分也是初学,只能从官方文档学起了。有不合适的地方还望指正,谢谢。 Python官网列表推导部分 一 列表推导  列表推导提供了一种创建list的...
  • Python 列表推导

    千次阅读 2019-03-31 21:48:50
    使用列表推导可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表列表推导通常由以下几种常用的语法格式。 1.生成指定范围的数值列表:list=[Expression for var in range]: list:新生成的列表...
  • Python中的嵌套列表推导

    千次阅读 2017-12-25 15:58:44
    python列表推导处理嵌套列表
  • python列表推导、字典推导、集合推导python列表推导、字典推导、集合推导式列表推导生成list格式示例一:输出为==表达式==示例二:输出为==函数(有返回值)==生成generator字典推导示例一:把字典中的...
  • 列表生成(快速生成列表

    千次阅读 2018-07-23 11:52:33
    # 列表生成:快速生成列表 # print([i for i in range(1, 11)]) # print([i*2 for i in range(1, 11)]) # print([i*i for i in range(1, 11)]) # print([str(i) for i in range(1, 11)]) print([i for i in range...
  • python 列表解析

    千次阅读 2018-08-19 16:21:32
    列表解析简化了代码,使代码的可读性增强;编译器在内部作了优化,不会因为简写而影响效率,反而提高了效率。  基本语法: [expression for iter_val in iterable] 练习题:生成一个列表,元素是1-9,返回这...
  • python列表推导

    千次阅读 2018-01-21 15:31:57
    列表推导是Python基础,好用,而又非常重要的功能,也是最受欢迎的Python特性之一,可以说掌握它是成为合格Python程序员的基本标准。本质上可以把列表推导理解成一种集合了变换和筛选功能的函数,通过这个函数把...
  • Python列表解析(列表推导

    万次阅读 2017-02-13 17:16:58
    列表解析——用来动态地创建列表[expr for iter_var in iterable if cond_expr]例子一:map(lambda x: x**2, range(6))[0, 1, 4, 9, 16, 25][x**2 for x in range(6)][0, 1, 4, 9, 16, 25]列表解析可以取代内建的...
  • Python之列表生成

    千次阅读 2019-12-26 20:30:56
    文章目录一、列表生成二、简单练习1、成一个列表,列表元素分别为[1 ** 1,2 ** 2,....,9 ** 9]2、找出1~10之间的所有偶数3、S1=‘ABC’ S2=‘123’ A1 A2 A3…4、找出1~10之间的所有偶数.并且返回一个列表(包含以...
  • python 递推构造列表

    千次阅读 2019-04-09 23:23:24
    递推式列表表达式 new_list = [expression(i) for i in old_list if filter(i)] 举例:要创建一个列表,是从零到十的平方,普通写法如下 squares = [] for x in range(11): squares.append(x**2) 递推式列表...
  • python之列表推导

    千次阅读 2014-11-17 10:00:23
    Python语言以简易明了著称,但初次学习Python,却被很多语法搞的昏头涨脑。List comprehension绝对是其中之一。... 问题一:列表推导中的变量,是全局变量?还是局部变量?还是闭包变量?  注:一个简单的列
  • Python列表解析

    千次阅读 2016-11-30 14:55:33
    Python编程语言中的列表解析(list comprehension)就是这类语法糖(syntactic sugar)的绝佳代表。 Python中的 列表解析 是个伟大的发明,但是要掌握好这个语法则有些难,因为它们并是用来解决全新的问题...
  • python 列表生成

    千次阅读 2016-04-08 21:39:33
    1、[m + n for m in 'ABC' for n in 'XYZ'] >>>['AX', 'AY', 'AZ', 'BX', '...2、请修改列表生成,通过添加if语句保证列表生成能正确地执行: # -*- coding: utf-8 -*- L1 = ['Hello','World','Apple',
  • python——列表生成

    万次阅读 多人点赞 2018-12-16 19:47:05
     列表生成即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成。  列表生成的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式...
  • Python 中的列表推导

    千次阅读 2018-02-21 15:11:04
    列表推导语法:[表达式 for 变量 in 序列或迭代对象]列表推导在逻辑上相当于一个循环,如:&gt;&gt;&gt;alist = [x * x for x in range(10)]相当于:&gt;&gt;&gt;alist = []&gt;&...
  • 列表生成列表生成器

    千次阅读 2018-08-16 23:18:40
    一、列表生成 列表生成是快速生成一个列表的一些公式 numbers = [] for x in range(0,101): numbers.append(x) print(numbers) [要放入列表的数据 简单的表达式1 表达式2] x for x in range(0,101...
  • 【Python学习之路】列表推导

    万次阅读 2019-12-15 20:56:12
    列表推导 循环可以用来生成列表: values = [10, 21, 4, 7, 12] squares = [] for x in values: squares.append(x**2) print squares [100, 441, 16, 49, 144] 列表推导可以使用更简单的方法来创建这个列表:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 558,666
精华内容 223,466
关键字:

列表式