帮忙C#写个链表顺序插入跳跃式的算法,在控制台可以输入跳跃的长度 如果跳跃跳出了接线保存起跳点再从起跳点以输入长度的1/2的长度跳跃,如果再跳过头,就一个一个的跳,下面给出了普通的插入排序法,最好再能写个二分算法的  谢啦    class MyLinkList
    {
        private int data;
        public int Data
        {
            get { return this.data; }
            set { this.data = value; }
        }
        private MyLinkList next;
        public MyLinkList Next
        {
            get { return this.next; }
            set { this.next = value; }
        }        public MyLinkList()
        {
            this.Data = 0;
            this.Next = null;
        }
        public void sort(MyLinkList head, int data)//依次循环插入排序
        {
            MyLinkList list = head;
            bool flag = true;
            while (true){
                MyLinkList list1 = head.Next;
                MyLinkList front = head;
                if (list1 == null){
                    MyLinkList node = new MyLinkList();
                    node.Data = data;
                    node.Next = list1;
                    head.Next = node;
                    break;
                }
                if (list.Next == null)
                    break;
                else{
                    if (list.Data < data){
                        front = list;
                        list = list.Next;
                    }if(list.data>data){
                        MyLinkList node2 = new MyLinkList();
                        node2.Data = data;
                        node2.Next = list;
                        front.Next = node2;
                        flag = false;
                        break;
                    }
                }
                }if(flag==true){
                MyLinkList node3 = new MyLinkList();
                node3.Data = data;
                list.Next = node3;         
            } 
        }
    }