// -*- mode: java; -*- // An implementation of // https://sampleprograms.io/projects/bubble-sort/ // // Bubble sort, with reading (parsing) and writing (formatting) the data. val sort = { sys.aryi64 nums -> var done = false; while( !done ) { done = true; for( var i = 0; i < nums.len-1; i++ ) if( nums.buf[i] > nums.buf[i+1] ) { nums.swap(i,i+1); done = false; } } }; // Read from stdin a line of the form "[ 4, 3, 2, 1]" and print it sorted. val main = { -> // Parse array of numbers from stdin var nums = sys.aryi64.parseAryI64( sys.io.stdin() ); if( !nums ) return sys.io.p("stdin must look like [4, 3, 2, 1]"); // Bubble sort array of integers sort(nums); // Print a list of numbers to stdout nums.str().write(1); return 0; };