просто и в случае односвязного разворичивать не нужно.
есть исходный список list *src, делаем list *tmp = src. в цикле во время обхода подсчитываем кл-во элементов. если tmp == src, значит список циклический, если tmp == NULL, значит нет.
ни ксандорс, ни новел не согласились, что само ядро и oss программы нарушают какие-то патенты. если не верите, сделайте поиск по новостям слешдота или лвн'а. другое дело, что новеловцы откровенно слили и прогнулись, заключив сделку с мелкомягкими только из-за того, что компания терпела не хилые убытки. у ксандорс же слишком мелкое еомьюнити, чтобы эта сделка была сколь либо значимой.
но стратегия m$ очевидна - подмять под себя побольше компаний, входящих в fsf members community, чтобы влиять на gpl3
что такое tcl/tk я знаю не по наслышке, но конечный пользователь, как правило, хочет qt или gtk. если бы это было иначе я бы для всего использовал тот же motif.
ну на gajim вы немного наговариваете, уже чёрт знает сколько его использую - замечаются тормоза только на момент загрузки и в процессе запроса инфо о пользователе. но тем не менее, гаджим становится монстриком, это уже далеко не лёгкий гуй, и он, как вы правильно заметили, будет становиться тяжелее.
но всё же, какие могут быть альтернативы? использовать gtk и с, gtkmm/qt и с++ для лёгковесной морды к какой-нибудь консольной программке - садомазохизм. если известно, что гуй не будет обрастать до монструозности, то проще сэкономить время, используя скриптовый язык, как это делают например господа из ubuntu.
это уже привычка - не нажимать шифт, очень трудно от неё избавиться =)
китай.
http://www.pekingduck.org/archives/00340…
хотя и
http://news.zdnet.co.uk/security/0,10000…
если заведомо известно, что src суть началос списка, то данный вариант работоспособен.
есть исходный список list *src, делаем list *tmp = src. в цикле во время обхода подсчитываем кл-во элементов. если tmp == src, значит список циклический, если tmp == NULL, значит нет.
p/s когда же я научусь проверять комментарии перед отправкой? =)
в данном случае развернуть поинтеры не рекурсивно будет довольно проблемно.
но стратегия m$ очевидна - подмять под себя побольше компаний, входящих в fsf members community, чтобы влиять на gpl3
но всё же, какие могут быть альтернативы? использовать gtk и с, gtkmm/qt и с++ для лёгковесной морды к какой-нибудь консольной программке - садомазохизм. если известно, что гуй не будет обрастать до монструозности, то проще сэкономить время, используя скриптовый язык, как это делают например господа из ubuntu.