说明:双击或选中下面任意单词,将显示该词的音标、读音、翻译等;选中中文或多个词,将显示翻译。
您的位置:首页 -> 词典 -> 机组排序
1)  units sequencing
机组排序
1.
The illustrative example shows that it can meet the purpose of Energy Saving Generation Dispatching for units sequencing from the solved load distribution and unit commitment by the introduction of three factors.
算例表明通过引入三因子到机组组合数学模型中,求解出的机组开停和负荷分配情况能体现出节能发电调度对机组排序的要求。
2)  scheduling with batching
分组排序
1.
This paper considers the one machine scheduling with batching to minimize the number of late jobs.
研究了以极小化延误工件个数为目标的单机分组排序问题,证明了该问题是强NP困难的,甚至限定所有工件有单位加工时间和一致的组间调整时间也是如此。
3)  array sorting
数组排序
1.
This paper presents a new algorithm for array sorting and an analysis of its complexity of calculation in the worst situation.
提出一种新的数组排序法 ,分析了该算法在最坏情况下的计算复杂度。
4)  Batching Scheduling
成组排序
1.
In this pater,we discuss the batching scheduling problem with linear deterioration of processing times(1|p_(ij)=b_(ij)+a_(ij)t,S=s_f,GT|C_(max),)and optimal schedule is given.
讨论了一类工件的加工时间随工件的开工时间线性递增的成组排序问题1|pij=bij+aijt,S=sf,GT|Cmax,给出了求最优解的多项式时间算法。
5)  sort group
排序组
6)  Combined Sort
组合排序
补充资料:冒泡排序

冒泡排序法

冒泡排序的基本思想是:依次比较相邻的两个数,将大数放在前面,小数放在后面。即首先比较第1个和第2个数,将大数放前,小数放后。然后比较第2个数和第3个数,将大数放前,小数放后,如此继续,直至比较最后两个数,将大数放前,小数放后,此时第一趟结束,在最后的数必是所有数中的最小数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将大数放前,小数放后,一直比较到最小数前的一对相邻数,将大数放前,小数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。

由于在排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以中冒泡排序。

用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。

算法:

1、输入10个数到数组a中

2、从大到小排序数组a

for i:=1 to 9 do

for j:=1 to 10-i do

if a[j]<a[j+1]

then 交换a[j]与a[j+1]

3、输出排序后的数组a。

程序:

program sort21(input,output);

var

a:array[1..10] of real;

temp:real;

i,j:integer;

begin

for i:=1 to 10 do

begin

read(a);

write(a<i>);

if i mod 5=0 then writeln;

end;

for i:=1 to 9 do

for j:=1 to 10-i do

if a[j]<a[j+1] then

begin

temp:=a[j];

a[j]:=a[j+1];

a[j+1]:=temp;

end;

for i:=1 to 10 do

begin

write(a<i>);

if i mod 5 =0 then writeln;

end;

end.

    • 冒泡排序法的改进 **

比如用冒泡排序将4、5、7、1、2、3这6个数排序。在该列中,第二趟排序结束后,数组已排好序,但计算机此时并不知道已经反排好序,计算机还需要进行一趟比较,如果这一趟比较,未发生任何数据交换,则知道已排序好,可以不再进行比较了。因而第三趟比较还需要进行,但第四、五趟比较则是不必要的。为此,我们可以考虑程序的优化。

为了标志在比较中是否进行了,设一个布尔量flag。在进行每趟比较前将flag置成true。如果在比较中发生了数据交换,则将flag置为false,在一趟比较结束后,再判断flag,如果它仍为true(表明在该趟比较中未发生一次数据交换)则结束排序,否则进行下一趟比较。

算法:

1、输入10个数到数组中

2、从大到小排序数组a

i:=1

repeat

flag:=true;

for j:=1 to 10-i do

if a[j]<a[j+1] then

begin

交换a[k]与a[j]

flag:=false;

end;

i:=i+1;

until flag;

3、输出排序后的数组a

程序:

program sort22(input,output);

var

a:array[1..10] of real;

temp:real;

i,j:integer;

flag:boolean;

begin

for i:=1 to 10 do read(a<i>);

i:=1;

repeat

flag:=true;

for j:=1 to 10-i do

if a[j]<a[j+1] then

begin

temp:=a[j];

a[j]:=a[j+1];

a[j+1]:=temp;

flag:=false;

end;

i:=i+1;

until flag;

for i:=1 to 10 do write(a<i>,' ');

end.

void bubblesort(type* arr,long len)/*bubble sort algorithm*/

{

long i=0,j=0;/*iterator value*/

assertf(arr!=null,"in bubble sort,arr is null\n");

for (i=len;i>1;i--)

for(j=0;j<i-1;j++)

if(arr[j]>arr[j+1])swaparrdata(arr,j,j+1);

}

从数组的后面位置开始,如果发现有比前面一个位置处的数更小的元素,则把交换这两个数的位置,形成一个类似轻的气泡在水中上升的排序过程.

说明:补充资料仅用于学习参考,请勿用于其它任何用途。
参考词条