如題:這里使用的簡單思路就是以此從前往后遍歷,每一次遇到第一個為 0 的數(shù)的位置為 i ,就新建一個指針為 j = i+1 緊臨著當前位置, 然后再滑動 j 指針,尋找非零的數(shù),期間 需要對剩余部分全部是 0 或者數(shù)組全部為 非 0 數(shù)做一個邊界條件的判斷:
Python 實現(xiàn):
list=[1, 0, 23, 4, 0, 4, 0, 5, 6, 0, 4, 3, 0, 0]
i=0
while(i
< len(list) and list[j]==0): # 尋找第一個非 0 的位置
j+=1
if(i
C++ 實現(xiàn)
#include
#include
using namespace std;
void move_num(vector
&list)
{
int i = 0;
int len = list.size();
while (i < len - 1)
{
while (i
list = { 1,0,23,4, 0, 4, 0,5, 6, 0, 4, 3, 0, 0 };
//vector
list = { 1,2,3 };
move_num(list);
for(auto i: list)
cout << i <<" ";
cout << endl;
system("pause");
return 0;
}
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
