博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Golang(笔记) 顺序编程
阅读量:4957 次
发布时间:2019-06-12

本文共 2091 字,大约阅读时间需要 6 分钟。

package mainimport (    "fmt"    "bufio"    "io"    "os"    "strconv"    "flag")var infile *string=flag.String("i","unsorted.data","File contains values for sorting")var outfile *string=flag.String("o","sorted.data","File to receive sorted values ")var algorithm *string=flag.String("a","qsort","Sort algorithm")func readValues(infile string)(values []int,err error){    file,err:=os.Open(infile)    if(err!=nil){        fmt.Println("Failed to open the input file ",infile)        return    }    defer file.Close()    br:=bufio.NewReader(file)    values=make([]int ,0)    for {        line ,isPrefix,err1:=br.ReadLine()        if err1!=nil{            if err1!=io.EOF{                err=err1            }            break        }        if isPrefix{            fmt.Println("A too long line ,seems unexpected.")            return        }        str:=string(line)//转换字符数组为字符串        value,err1:=strconv.Atoi(str)        if err1!=nil{            err=err1            return        }        values=append(values,value)    }    return}func writeValues(values []int,outfile string) error{    file,err:=os.Create(outfile)    if err!=nil{        fmt.Println("Failed to create the outout file ",outfile)        return err    }    defer  file.Close()    for _,value:=range values{    str:=strconv.Itoa(value)        file.WriteString(str+"\n")    }    return nil}//冒泡排序法func BubbleSort(values []int) []int{    flag:=true    for i:=0;i
values[j+1]{ values[j],values[j+1]=values[j+1],values[j] flag=false } } if flag==true{ break } } return values;}func main() {flag.Parse() if infile!=nil{ fmt.Println("infile=",*infile," outfile=",*outfile," algorithm=",*algorithm) } values,err:=readValues(*infile) if(err==nil){ fmt.Println("read values:",values) values=BubbleSort(values) errout:= writeValues(values,*outfile) if errout!=nil{ fmt.Println(errout) } } else{ fmt.Println(err) }}

 

转载于:https://www.cnblogs.com/yahue/p/3754792.html

你可能感兴趣的文章
使用Busybox制作根文件系统
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
大华门禁SDK二次开发(二)-SignalR应用
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>
在使用Kettle的集群排序中 Carte的设定——(基于Windows)
查看>>
【原】iOS中KVC和KVO的区别
查看>>
OMAPL138学习----DSPLINK DEMO解析之SCALE
查看>>
IoC的基本概念
查看>>
restframework CBV试图的4种方式
查看>>
大图居中,以1920px为例
查看>>
Python3 图片转字符画
查看>>
[C陷阱和缺陷] 第7章 可移植性缺陷
查看>>
人需要治愈
查看>>
linux中configure文件默认执行结果所在位置
查看>>
Spring MVC例子
查看>>
jmeter 断言
查看>>