Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "math/rand"
- )
- func pipesort(in, out chan int, i int, s []int)
- {
- /*Necesito una forma en cual leer los datos, leo todos los numeros en el canal de entreada, si es el primer numero que estoy leyendo, el menor va a ser el num*/
- first := true
- var min int
- for num:= range in{
- if first{
- first = false
- min = num
- }
- else if num < min{
- out <- min
- min = num
- }else{
- out<-num
- }
- }
- close(out)
- s[i]= min
- }
- func main(){
- n:= 10
- /*slice de canales simples*/
- ch := make([] chan int, n+1) /*tenemos n +1 canales*/
- /*inicio el canal en un proceso desatendido*/
- ch[0]= make(chan int)
- go func(ch chan int){
- for i := 0; i<n ; i++
- {
- ch<-rand.Intn(100) /*ch toma la primera variable que esta fuera de la func*/
- }
- /*eclipse de variable*/
- }(ch[0]) /*ch recibe el registro de lo que le estamos enviando, tengo dos variables ch uno dentro y fuera*/
- s:= make([]int, n)
- for i:= 0; i<n ; i++{
- ch[i+1] = make(chan int)
- go pipesort(ch[i],ch[i+1],i,s)
- }
- for _ = range ch[n]{
- }
- fmt.Println(s)
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement