//compiler options: /t:library using System; public class ListInt { public int info; public ListInt next; public ListInt(int n, ListInt nxt) { info = n; next = nxt; } public static int Length(ListInt p) { int br = 0; while(p != null) { br++; p = p.next; } return br; } public static bool Equal(ListInt p, ListInt q) { while(p != null && q != null) { if(p.info != q.info) { break; } p = p.next; q = q.next; } return p == null && q == null; } public static ListInt Copy(ListInt p) { if(p == null) { return null; } ListInt first = new ListInt(p.info, null); ListInt last = first; p = p.next; while(p != null) { last.next = new ListInt(p.info, null); last = last.next; p = p.next; } return first; } public static ListInt Rev(ListInt p) { if(p == null || p.next == null) { return p; } ListInt q = p.next; p.next = null; ListInt r; do { r = p; p = q; q = q.next; p.next = r; } while(q != null); return p; } }