最近想记录自己的c++成长路线 传一点自己写的代码进行记录
主要是想做一个积累
此程序用于实现约瑟夫环,通俗理解就是数n出局,即是数到第n个数就把第n个数排除,每次数到最后一个数就重数,直到只剩下第一个数。
利用c++写文件需要包含的头文件如下
#include <iostream>#include <vector>using namespace std;
主要程序如下
int main() {int count = 4;vector<int> arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int i = 0;//重复进行while(true){//数组值只有一个时 退出循环if(arr.size() < 2) break;//新数组用于接受数据vector<int> newArr;for(int n = 0;n < arr.size(); n++){if(i != count){newArr.push_back(arr[n]);i++;}else{i = 0;}}printN(newArr);arr = newArr;newArr.clear();}system("pause");return 0;}
此程序我设置的总数是15个,count值是数的数的个数,用到的容器是vector。
实现逻辑是把每次数的数字out出去,形成的新数据给到老容器,保证原有的i不变继续遍历,直到只剩下一个数据。
本文介绍了如何使用C++编写一个程序,实现约瑟夫环算法,即从给定数组中按特定规则删除元素,直到只剩下一个元素。作者通过vector容器和循环结构展示了这一过程。

3542

被折叠的 条评论
为什么被折叠?



