直接上c++代碼:
這裡有問題的地方就是joseph_circle.cpp實作方法eliminate的循環語句的條件,如果把p->next != p改為p->next != nullptr就會出現循環已經删除了最後一個還繼續循環,還繼續删除,然後抛出空指針異常。
joseph_circle.h


joseph_circle.cpp


直接上c++代碼:
這裡有問題的地方就是joseph_circle.cpp實作方法eliminate的循環語句的條件,如果把p->next != p改為p->next != nullptr就會出現循環已經删除了最後一個還繼續循環,還繼續删除,然後抛出空指針異常。
joseph_circle.h
joseph_circle.cpp