sort.cs
来自「c#设计模式随书源码 c#设计模式随书源码」· CS 代码 · 共 52 行
CS
52 行
using System;
using System.Collections ;
using System.Windows.Forms;
namespace Interpreter
{
/// <summary>
/// Summary description for Sort.
/// </summary>
public class Sort : Verb
{
private Kid[] kids;
public Sort(string s, Data kd, ListBox pt) : base(s, kd, pt) {
value = SORT;
}
//-----
public override void Execute() {
kids = data.getData();
for(int a = 0; a < args.Count ; a++) {
ParseVar v = (ParseVar) args[a];
process(v);
}
}
//-----
private void process(MultVar v) {
ArrayList mvec = v.getVector ();
for(int k = mvec.Count -1; k >= 0; k--) {
ParseVar pv = (ParseVar)mvec[k];
int sortKey = pv.getValue ();
sortByKey(sortKey);
}
}
//-----
private void process(ParseVar v) {
int sortKey = v.getValue ();
sortByKey(sortKey);
}
//-----
private void sortByKey(int key) {
for(int i=0; i< kids.Length ; i++ ) {
for(int j=i; j < kids.Length ; j++) {
if(kids[i].compare (kids[j], key)) {
Kid tmp = kids[i];
kids[i] = kids[j];
kids[j] = tmp;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?