Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2010, 23:10   #1
Phaeton
Новичок
Джуниор
 
Регистрация: 05.01.2010
Сообщений: 1
По умолчанию Требуется помощь с сортировкой по полю!

Здравствуйте! Помогите, пожалуйста, организовать сортировку в структуре по полю name! Буду очень признателен! Вот сам код!



#include<iostream.h>
struct City
{
string name;
int people;
int man;
int woman;
City * next;
};
//------------------------------------
void AddCity(City **l, string s, int c, int g, int q)
{
City *p = new City;
p->name = s;
p->people = c;
p->man = g;
p->woman = q;
p->next = *l;
*l = p;
};
//-----------------------------------
void DelCity(City **l, string s)
{
City *p = *l;
if(p->name == s)
{
*l = p->next;
free(p);
return;
}
while(p)
{
if((p->next)&&(p->next->name ==s))
{
City * p1 = p->next;
p->next = p1->next;
free(p1);
}
p = p->next;
}
};
//-----------------------------
void ShowCity(City **l)
{
if(!l) return;
City *p = *l;
while(p)
{
cout <<"Name:" <<p->name <<endl;
cout<< "People:" <<p->people << endl;
cout<< "Man:" <<p->man << endl;
cout<< "Woman:" <<p->woman << endl <<endl;
p=p->next;
}
};
//------------------------------------
void Exists(City **l, string s)
{
City *p = *l;
while(p)
{
if(p->name == s)
{
cout <<"City is exists!" << endl;
return;
}
p=p->next;
}
cout <<"City not exists!" << endl;
};
//---------------------------------
void DisposeCity(City **l)
{
City *p;
while(*l)
{
p = *l;
*l = p->next;
free(p);
}
};
//----------------------------------
int main(int argc, char ** argv)
{
int action = 50;
City *l = NULL;
string n;
int c, q, g;
while(action)
{ cout <<"1.Add City;" << endl;
cout <<"2.Del City;" << endl;
cout <<"3.Show all City;" << endl;
cout <<"4.Is City exists;" << endl;
cout <<"0.Exit." << endl;
cin >> action;
switch(action)
{
case 1:
cout <<"Vvedite Name, People, Man and Woman:\n";
cin >>n>>c>>g>>q;
AddCity(&l,n,c,g,q);
break;
case 2:
cout <<"Vvedite Name:\n";
cin >>n;
DelCity(&l,n);
break;
case 3:
ShowCity(&l);
break;
case 4:
cout <<"Vvedite Name:\n";
cin>>n;
Exists(&l,n);
break;
case 0:
DisposeCity(&l);
}
}
return 0;
}
Phaeton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с сортировкой односвязных списков на Pascal Lesowik Помощь студентам 2 22.05.2011 06:14
Требуется помощь ! Garacio_cain Работа с сетью в Delphi 3 06.01.2008 14:53