#include "intlist.h"
/* acyclic(x) and l[x]==_l and data(x) */
void bubbleSortArr(intlist x) {
intlist xi, xin;
int v;
int k = 1;
while (k==1) {
k = 0;
xi = x;
xin = x->next;
while (xi != NULL && xin != NULL) {
if (xi->data >= xin->data+1) {
v = xi->data;
xi->data = xin->data;
xin->data = v;
k = 1;
}
xi = xin;
xin = xin->next;
}
}
}
|
var _data:real, _free:real, _len:real,
_new:real, _next:real, _null:real,
x:real, xi:real, xin:real,
_l:int, _k:int, S:int, v:int;
begin
assume (x == 0);
xi = _null; xin = _null;
_k = 1;
while _k==1 do
_k = 0;
xi = x;
xin = x * _next;
while xi != _null and xin != _null do
if (xi * _data >= xin * _data +1) then
v = xi * _data;
xi = (xin * _data) / _data;
xin = v / _data;
_k = 1;
endif;
xi = _null;
xi = xin;
xin = _null;
xin = xi * _next;
done;
xi = _null;
xin = _null;
done;
end
|