²é¿´: 352  |  »Ø¸´: 2

±ùÓêhust

Ìú³æ (СÓÐÃûÆø)

[ÇóÖú] C++Êý¾Ý½á¹¹Ñ­»·Á´±íԼɪ·òÎÊÌâ

#include <iostream>
using namespace std;

template <class T>
struct Node
{
        T data;
    Node<T> *next;
};

template <class T>
class CLinkList
{
public:
        CLinkList(){rear=new Node<T>;rear->next=rear;}
        CLinkList(T a[],int n);
        int Josephus(int m,int n);
private:
        Node <T> *rear;
};

template <class T>
CLinkList<T>::CLinkList(T a[],int n)
{
        rear=new Node<T>;
        rear->next=rear;
        for (int i=0;i<n;i++)
        {
                Node <T>*s=new Node <T>;
                s->data = a;
                s->next = rear->next;
                rear->next = s;
                rear = s;
        }
        Node <T>*p = rear->next;
        rear->next = p->next;
        delete p;
}

template <class T>
int CLinkList<T>::Josephus(int m,int n)
{
        int x,i;
        Node <T>*p=rear->next;
        if (n==1||m==1)
        {
                x=n;
        }
        else
        {
                while(n!=1)
                {
                        i=1;
                        while (p&&i!=(m-1))
                        {
                                p=p->next;
                                i++;
                        }
                        Node <T> *q = p->next;
                        p->next = q->next;
                        delete q;
                        p = p->next;
                        n--;
                }
                rear=p;
                x=p->data;
        }
        return x;
}

int main()
{
        int M,N,a[1024];
        cout<<"the number of people:";
        cin>>N;
        if (N>=1024)
        {
                cout<<"Error!Please put in a smaller number.";
                return 0;
        }
        cout<<"the number they count:";
        cin>>M;
        if (M<=0)
        {
                cout<<"Error!Please put in a positive number:";
                return 0;
        }
        for (int i=0;i<N;i++)
        {
                a = i+1;
        }
        CLinkList<int> A(a,N);
        cout<<"the last number is:"<<A.Josephus(M,N)<<endl;
        return 0;
}

ÎÒ²»ÖªµÀÔÚtemplate <class T>
CLinkList<T>::CLinkList(T a[],int n)µÄ×îºóΪɶҪ¼ÓÉÏ£º
       Node <T>*p = rear->next;
        rear->next = p->next;
        delete p;
ÕâÒ»¶Î´úÂ룬Çë¸ßÈËÖ¸µã£¬Ð»Ð»~~~
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ÓÐ2¸öÎÊÌâ,CLinkList<T>::CLinkList(T a[],int n)ÖÐÕâÒ»¾ä
CODE:
s->data = a;

ÉÙÁË[],Ó¦ÊÇa
int main()ÀïÃæÒ²Ò»Ñù,a = i+1;Ó¦¸ÃÊÇa

È»ºó¿´ÄãÎʵÄÄǶδúÂë:
CODE:
CLinkList<T>::CLinkList(T a[],int n)
{
        rear=new Node<T>;
        rear->next=rear;

Éú³ÉÒ»¸öÑÆ½Úµã(Ò²¾ÍÊǶàÓàµÄ),ûÓÐÈκÎÊý¾Ý,ÓÃÀ´±íʾÁ´±í½áβ.ÆänextÖ¸Ïò×ÔÉí(Ìí¼ÓÊý¾Ýºó»á±»É¾³ý).
CODE:
        for (int i=0;i<n;i++)
        {
                Node <T>*s=new Node <T>;
                s->data = a;
                s->next = rear->next;
                rear->next = s;
                rear = s;
        }

Ñ­»·Ìí¼ÓÊý¾Ý,Ìí¼Ó˳ÐòΪ:Éú³Éнڵãs,¸øsÊý¾Ý¸³Öµ,sÖ¸ÏònextÑÆ½Úµãrear,ÑÆ½ÚµãnextÖ¸Ïòs,È»ºóÒÆ¶¯rearÖ¸Õ뵽нڵãs(ÕâʱºòËùνµÄrearÆäʵ±ä³ÉÁË×îºóÒ»¸ö·Ç¿Õ½áµã),»­Í¼¾ÍÊÇ:
Ìí¼ÓǰֻÓÐrear:
[rear][null][next]
¡ü___________|
Ìí¼Óºó(Ö»¼ÓÒ»¸ö),ÓÐ2¸öÔªËØ,s1ºÍrear:
[s1(Ñ­»·×îºóÒ»¾ä¸³Öµºó±ä³Érear)][data][next] ----¡ú [Ô­rear(¸´ÖƺóûÓÐÖ¸ÕëÖ¸ÏòÕâÀï,Ö»ÄÜͨ¹ýеÄrearµÄnext·ÃÎÊ)][null][next]
¡ü_______________________________________________________________________________________________________|
Ìí¼Ó2¸öºó±ä³És1ºÍs2ºÍrear
[s1][data][next]  ---¡ú  [s2(еÄrear)][data][next]  ---¡ú   [Ô­rear][null][next]
¡ü___________________________________________________________|
Ñ­»·ÏÂÈ¥¿ÉÒÔ¿´µ½,rearÓÀÔ¶Ö¸Ïò×îºóÒ»¸ö·Ç¿Õ½Úµã,Ò²¾ÍÊÇÐÂÌí¼ÓµÄÄǸös.
CODE:
        Node <T>*p = rear->next;
        rear->next = p->next;
        delete p;
}

´´½¨Ò»¸öÖ¸Õë,Ö¸Ïò¿Õ½Úµã(rearµÄÏÂÒ»¸ö),ÈÃ×îºóÒ»¸ö·Ç¿Õ½ÚµãÖ¸ÏòÍ·½áµã.ɾ³ý¿Õ½Úµã.Ñ­»·Á´±íÉú³ÉÍê³É.
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
2Â¥2013-06-17 16:41:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

·½À¨ºÅa¡¾i¡¿(a£Û£é£Ý)û·¨ÏÔʾ?
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
3Â¥2013-06-17 16:42:26
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ ±ùÓêhust µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[˶²©¼ÒÔ°] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 8rmuugja8q 2026-02-22 8/400 2026-02-23 12:22 by alian_214
[»ù½ðÉêÇë] ÌåÖÆÄÚ³¤±²ËµÌåÖÆÄÚ¾ø´ó²¿·ÖÒ»±²×ÓÔڵײ㣬ÈçͬÄãÃÇÒ»Ñù´ó²¿·ÖÆÕͨ½ÌʦæÇÒÊÕÈëµÍ +10 ˲ϢÓîÖæ 2026-02-20 13/650 2026-02-23 11:23 by holypower
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 khieu8v8m0 2026-02-22 8/400 2026-02-23 09:35 by w4l55oybr1
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 8/400 2026-02-23 09:29 by w4l55oybr1
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +5 usprnugpzw 2026-02-21 11/550 2026-02-23 09:24 by w4l55oybr1
[½Ìʦ֮¼Ò] ΪʲôÖйú´óѧ¹¤¿Æ½ÌÊÚÃÇË®ÁËÄÇô¶àËùνµÄ¶¥»á¶¥¿¯£¬µ«»¹ÊÇ×ö²»³öÓîÊ÷»úÆ÷ÈË£¿ +5 »¶ÀÖËÌÒ¶Ýè 2026-02-21 8/400 2026-02-23 09:19 by »¶ÀÖËÌÒ¶Ýè
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 w89i99eaeh 2026-02-22 5/250 2026-02-23 08:04 by w4l55oybr1
[²©ºóÖ®¼Ò] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 6/300 2026-02-23 07:59 by w4l55oybr1
[¿¼²©] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 4/200 2026-02-23 06:46 by jsjzfl
[¹«Åɳö¹ú] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 khieu8v8m0 2026-02-22 5/250 2026-02-23 06:29 by w4l55oybr1
[˶²©¼ÒÔ°] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 8/400 2026-02-23 06:24 by w4l55oybr1
[¿¼²©] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +5 3dfhjxgsh7 2026-02-22 6/300 2026-02-23 02:04 by 5jlh3qtdvx
[½Ìʦ֮¼Ò] °æÃæ·Ñ¸Ã½»Âð +7 Æ»¹ûÔÚÄÄÀï 2026-02-22 8/400 2026-02-22 22:37 by otani
[»ù½ðÉêÇë] ÃæÉÏ¿ÉÒÔ³¬¹ý30Ò³°É£¿ +4 °¢À­¹±aragon 2026-02-22 4/200 2026-02-22 21:22 by ɽÎ÷Ðü¿ÕË¿ÕÐüÎ
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 usprnugpzw 2026-02-21 6/300 2026-02-22 19:48 by w89i99eaeh
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 3dfhjxgsh7 2026-02-22 4/200 2026-02-22 16:52 by khieu8v8m0
[ÕÒ¹¤×÷] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 usprnugpzw 2026-02-22 3/150 2026-02-22 16:37 by khieu8v8m0
[»ù½ðÉêÇë] ¡°ÈËÎÄÉç¿Æ¶øÂÛ£¬Ðí¶àѧÊõÑо¿»¹Ã»ÓдﵽÃñ¹úʱÆÚµÄˮƽ¡± +4 ËÕ¶«ÆÂ¶þÊÀ 2026-02-18 5/250 2026-02-22 16:07 by liangep1573
[»ù½ðÉêÇë] ʲôÊÇÈËÒ»Éú×îÖØÒªµÄ£¿ +4 ˲ϢÓîÖæ 2026-02-21 4/200 2026-02-22 11:44 by huagongfeihu
[»ù½ðÉêÇë] ½ñÄê´ºÍíÓм¸¸ö½ÚÄ¿ºÜ²»´í£¬µãÔÞ£¡ +11 ˲ϢÓîÖæ 2026-02-16 12/600 2026-02-21 21:14 by lq493392203
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û