c++练习4.16

张开发
2026/4/17 1:14:35 15 分钟阅读

分享文章

c++练习4.16
1.在处理复数类时对于复数的输出if语句出问题了导致有个测试点没过。我写的r0i0;r0;i0;i1;i-1;i0;这样的互相交错的if句组结果在处理-i时会先到r0处从而输出-1i而没有出现到i-1处就return了所以oj出现单个测试点问题可以考虑if句写的问题。而这个if句组有更好的实现if(r0i0)cout0; if(r!0){ coutr; } if(i0){ if(i1) { if(r0) couti; couti; return; } if(r0) coutii; else{coutii;} } //i0同理这样分为实数部分和虚数部分输出就可以把问题归结到虚数部分的有无-号有无1的问题更加清晰比想当然地做要好但也费时间想2.怎么让链表倒序。考试时我是想到了冒泡依赖count并且实在有些麻烦。void List::flip(){ if (head nullptr || head-next nullptr) { return; } tail head; Node* prev nullptr; Node* curr head; Node* next nullptr; while (curr!nullptr) { next curr-next; curr-next prev; prev curr; curr next; } head prev; }这个On算法比冒泡的On^2好得多而且十分方便。

更多文章