读入文本信息,进行排序

原创 2007年10月09日 10:44:00

 编写程序实现如下机能

1)使用readData函数将文件读入,保存在内存中。

2)从控制台输入“M”,调用search函数,对所有员工按照部门名称进行分组,并且每个部门的数据按照员工编号升序排列。

3) 将search得到的数据用showData函数输出到控制台,输出时请将员工姓名改为:S+区分+姓名的形式。

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
using System.Collections;
namespace D205
...{
    
public partial class Form1 : Form
    
...{
        
//StreamReader objReader = new StreamReader("c:/test.txt");   
        string       strLine   = "";
        ArrayList    aryText   
= new ArrayList();    //存放文本文件信息
        ArrayList    arynum    = new ArrayList();    //存放员工编号
        ArrayList    arynum1   = new ArrayList();    //存放姓名
        ArrayList    arynum2   = new ArrayList();    //存放部门名称
        ArrayList    arynum3   = new ArrayList();    //存放区分
        public Form1()
        
...{
            InitializeComponent();
        }

        
/**////readData()函数将文件读入,保存在内存中
        public void readData()                       
        
...{
            
try
            
...{
                StreamReader objReader 
= new StreamReader("c:/test.txt");  
                
while (strLine != null)
                
...{
                    strLine 
= objReader.ReadLine();
                    
if (strLine != null)
                        aryText.Add(strLine);
                }

                objReader.Close();
            }

            
catch (Exception e)
            
...{
                MessageBox.Show(e.GetBaseException().ToString());
            }

            
        }

        
/**////search函数,对所有员工按照部门名称进行分组,部门的数据按照员工编号升序排列。
        public void search()                         
        
...{
            readData();
            
string stra1;
            
string stra2;
            
string stra3;
            
string stra4;
            
            
for (int i = 0; i < aryText.Count; i++)
            
...{
                
string  strb  = (string)aryText[i];
                
int     inta  = strb.IndexOf(" ");
                
string  stro  = strb.Substring(0, inta);             //提出员工编号至arrnum.Add(cc);
                int     intc  = Convert.ToInt32(stro);
                arynum.Add(intc);

                
string  stro1 = strb.Substring(inta + 1);            //提出姓名至arrnum1.Add(ob);                    
                int     inta2 = stro1.IndexOf(" ");
                
string  stro2 = stro1.Substring(inta2 + 1);
                
string  strob = stro1.Substring(0, inta2);       
                arynum1.Add(strob);

                
int     inta3 = stro2.IndexOf(" ");                  //提出部门名称至arrnum2.Add(oo3); 
                string  stro3 = stro2.Substring(0,inta3 + 1);   
                
string  strb1 = stro2.Substring(inta3);              //提出区分至arrnum3.Add(ob1); 
                arynum2.Add(stro3);
                arynum3.Add(strb1);
            }


            
for (int j = 1; j < aryText.Count; j++)                  //对员工编号冒泡排序,同时对另外几个数组中对应的元素进行排序
            ...{
                
for (int i = 0; i < aryText.Count - 1; i++)
                
...{
                    
if ((int)arynum[i] >= (int)arynum[i + 1])
                    
...{
                       
int  intob          = (int)arynum[i];
                            stra1          
= (string)arynum1[i];
                            stra2          
= (string)arynum2[i];
                            stra3          
= (string)arynum3[i];
                            arynum[i]      
= arynum[i + 1];
                            arynum1[i]     
= arynum1[i + 1];
                            arynum2[i]     
= arynum2[i + 1];
                            arynum3[i]     
= arynum3[i + 1];
                            arynum[i 
+ 1]  = intob;
                            arynum1[i 
+ 1= stra1;
                            arynum2[i 
+ 1= stra2;
                            arynum3[i 
+ 1= stra3;

                    }

                }

            }

            
for (int i = 0; i < aryText.Count; i++)            //先输出开发部的人员名单
            ...{
                
if ("kaifabu ".Equals(arynum2[i]))
                
...{
                    ListViewItem lvwob;
                    stra1  
= Convert.ToString(arynum[i]);
                    stra3  
= (string)arynum2[i];
                    stra4  
= (string)arynum3[i];
                    stra2  
= "S" + stra4 + (string)arynum1[i];
                    lvwob  
= lvwMylistView.Items.Add(stra1);
                    lvwob.SubItems.Add(stra2);
                    lvwob.SubItems.Add(stra3);
                    lvwob.SubItems.Add(stra4);
                }

            }

            
for (int i = 0; i < aryText.Count; i++)            //输出营业部的人员名单
            ...{
                
if ("yingyebu ".Equals(arynum2[i]))
                
...{
                    ListViewItem lvwob;
                    stra1 
= Convert.ToString(arynum[i]);
                    stra3 
= (string)arynum2[i];
                    stra4 
= (string)arynum3[i];
                    stra2 
= "S" + stra4 + (string)arynum1[i];
                    lvwob 
= lvwMylistView.Items.Add(stra1);
                    lvwob.SubItems.Add(stra2);
                    lvwob.SubItems.Add(stra3);
                    lvwob.SubItems.Add(stra4);
                }

            }

            }


        
private void btnSubmit_Click(object sender, EventArgs e)
        
...{
            
if (txtBox.Text == "M")
            
...{
                search();
            }

            
else
            
...{
                MessageBox.Show(
"输入正确指令");
            }

        }

    }

}




Linux sort --将文本文件内容加以排序

功能说明:将文本文件内容加以排序。   语  法:sort [-bcdfimMnr][-o输出文件>][-t分隔字符>][+起始栏位>-结束栏位>][--help][--verison][文件] ...
  • mosesmo1989
  • mosesmo1989
  • 2016年04月08日 11:00
  • 283

《用Python进行自然语言处理》代码笔记(五):第七章:从文本提取信息

Python自然语言处理
  • u012845311
  • u012845311
  • 2017年05月09日 16:24
  • 533

Linux sort --将文本文件内容加以排序

功能说明:将文本文件内容加以排序。   语  法:sort [-bcdfimMnr][-o输出文件>][-t分隔字符>][+起始栏位>-结束栏位>][--help][--verison][文件] ...
  • mosesmo1989
  • mosesmo1989
  • 2016年04月08日 11:00
  • 283

统计自然语言处理基础学习笔记(8)——文本分析

自然语言处理的目的是为了更好的分析人类语言,让机器能够理解人类的语言。随着互联网的兴起,人们越来越多的参与网络社区活动,人们在网络社区发言的机会越来越多,文本分析的需求也越来越迫切。而依靠人工去分析这...
  • dqjyong
  • dqjyong
  • 2014年03月02日 22:05
  • 3712

文本挖掘和自然语言处理

文本挖掘利用智能算法,如神经网络、基于案例的推理、可能性推理等,并结合文字处理技术,分析大量的非结构化文本源(如文档、电子表格、客户电子邮件、问题查询、网页等),抽取或标记关键字概念、文字间的关系,并...
  • xiaohang20103
  • xiaohang20103
  • 2013年06月19日 16:51
  • 3184

五、自然语言处理中的文本分类

文本分类是机器学习在自然语言处理中的最常用也是最基础的应用,机器学习相关内容可以直接看我的有关scikit-learn相关教程,本节直接涉及nltk中的机器学习相关内容 请尊重原创,转载请注明来源网...
  • jiangjingxuan
  • jiangjingxuan
  • 2017年01月25日 12:04
  • 1703

pyspark+nltk处理文本数据

环境条件:hadoop2.6.0,spark1.6.0,python2.7,下载代码和数据 代码如下: from pyspark import SparkContext sc=SparkContext...
  • o1101574955
  • o1101574955
  • 2016年06月03日 17:20
  • 1193

linux命令之----sort命令用于将文本文件内容加以排序

1、sort命令作用 sort命令用于将文本文件内容加以排序,将输入行按照键值字段与数据类型选项以及locale排序。 一个可预期的记录次序,会让用户的查看使用更方便:书的索引、字典、目录以及电话簿...
  • xianjie0318
  • xianjie0318
  • 2017年04月13日 13:54
  • 3103

自然语言处理课程作业 中文文本情感分类

摘要:20世纪初以来,文本的情感分析在自然语言处理领域成为了研究的热点,吸引了众多学者越来越多的关注。对于中文文本的情感倾向性研究在这样一大环境下也得到了显著的发展。本文主要是基于机器学习方法的中文文...
  • jdbc
  • jdbc
  • 2015年09月04日 08:18
  • 6527

基于文本向量空间模型的文本聚类算法

基于文本向量空间模型的文本聚类算法@[vsm|向量空间模型|文本相似度] vsm概念简单,把对文本内容的处理转化为向量空间中的向量计算,以空间上的相似度来直观表达语义上的相似度。 目录基于文本向量...
  • IOThouzhuo
  • IOThouzhuo
  • 2015年06月22日 11:05
  • 1945
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读入文本信息,进行排序
举报原因:
原因补充:

(最多只允许输入30个字)