import'dart:io';classLink{intintData;doubledoubleData;Linknext;Link(intid,doubledd){intData=id;doubleData=dd;next=null;}voiddisplayLink(){stdout.write('{ $intData, $doubleData } ');}}classLinkList{Linkfirst;LinkList(){first=null;}boolisEmpty(){returnfirst==null;}voidinsertFirst(intid,doubledd){LinknewLink=newLink(id,dd);newLink.next=first;first=newLink;}Linkfind(intkey){Linkcurrent=first;while(current.intData!=key){if(current.next==null){returnnull;}else{current=current.next;}}returncurrent;}Linkdelete(intkey){Linkcurrent=first;Linkprevous=first;while(current.intData!=key){if(current.next==null){returnnull;}else{prevous=current;current=current.next;}}if(current==first){first=first.next;}else{prevous.next=current.next;}returncurrent;}LinkdeleteFirst(){Linktemp=first;first=first.next;returntemp;}voiddisplayList(){stdout.write('List frist -> last ');Linkcurent=first;while(curent!=null){curent.displayLink();curent=curent.next;}stdout.writeln();}}voidmain(){LinkListlinkList=newLinkList();// Создание нового спискаlinkList.insertFirst(22,2.99);linkList.insertFirst(44,4.99);linkList.insertFirst(66,6.99);linkList.insertFirst(88,8.99);linkList.displayList();LinkfindElement=linkList.find(44);if(findElement!=null){stdout.writeln('Found link with key ${findElement.intData}');}else{stdout.writeln("Can't find link");}LinkdeletetElement=linkList.delete(66);if(deletetElement!=null){stdout.writeln('Delete link with key ${deletetElement.intData}');}else{stdout.writeln("Can't delete link");}linkList.displayList();}