Открытое и свободное

Блог о Linux, Open Source и больших корпорациях

Алгоритм сортировки односвязного списка

December 17th, 2006 · 1 Comment
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Полдня писал…. Но вроде получилось.
Функция на Си, сортирует книги по параметру god (год выпуска) по возрастанию

BOOK1* BOOK1::sort(BOOK1* first)
{
BOOK1 *current,*temp,*last;
int count=0,i,j; current=first;
last=NULL;
do
{
count++;
current=current->next;
}
while (current!=NULL);

for (i=0;i {
current=first;
last=NULL;
for (j=0;j {
if ((current->next!=NULL)&&(current->god>current->next->god))
{
if (first==current) first=first->next;
if (last!=NULL) last->next=current->next;
temp=current->next->next;
current->next->next=current;
last=current->next;
current->next=temp;
}
else
{
last=current;
current=current->next;
}
}
}
return first; }

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • e-mail
  • Slashdot
  • Technorati
  • YahooMyWeb
  • Furl
  • MyShare
  • Socialogs

Tags: Programming

1 response so far ↓

  • 1 Green // Jun 21, 2007 at 2:38 am

    Green…

    You a right. Thank you….

Leave a Comment