人人爱人人爽_2色视频网站_日韩欧美亚洲_中文字幕一区二区三中文字幕_制服丝袜影音先锋_成年人免费影院_freexxxx性特大另类

大學(xué)生新聞網(wǎng),大學(xué)生新聞發(fā)布平臺
大學(xué)生新聞網(wǎng)
大學(xué)生新聞大學(xué)生活校園文學(xué)大學(xué)生村官
社會實踐活動社會實踐經(jīng)歷社會實踐報告社會實踐總結(jié)社會實踐心得
全國排名校友會版軟科排名分類排名本科排名一本排名二本排名專科排名學(xué)校地址
求職簡歷職場法則面試技巧職場故事求職招聘大學(xué)生就業(yè)
英語學(xué)習(xí)計算機學(xué)習(xí)電氣工程機械工程經(jīng)濟(jì)管理建筑設(shè)計財務(wù)會計
申請書證明書檢討書自薦信演講稿心得體會調(diào)查報告讀后感求職信推薦信其它范文

C語言三色旗問題

有一根繩子,上面有紅、白、藍(lán)三種顏色的旗子。繩子上旗子的顏色并沒有順序,現(xiàn)在要對旗子進(jìn)行分類,按照藍(lán)色、白色、紅色的順序排列。只能在繩子上進(jìn)行移動,并且一次只能調(diào)換兩面旗子,怎樣移動才能使旗子移動的次數(shù)最少?

算法思想
旗子在繩子上移動,而且一次只能調(diào)換兩面旗子,因此只要保證在移動旗子時,從繩子的開頭開始,遇到藍(lán)色旗子向前移動,遇到白色旗子則留在中間,而遇到紅色的旗子則向后移動。要使移動次數(shù)最少,可以使用三個指針 b、w、r 分別作為藍(lán)旗、白旗和紅旗的指針。

若 w 指針指向的當(dāng)前旗子為白色,則 w 指針增加 1,表示白旗部分增加一面。若 w 指針指向的當(dāng)前旗子為藍(lán)色,則將 b 指針與 w 指針?biāo)赶虻钠熳咏粨Q,同時 b 指針與 w 指針都增加 1,表示藍(lán)旗和白旗部分都多了一個元素。若 w 指針指向的當(dāng)前旗子為紅色,則將 w 指針與 r 指針?biāo)赶虻钠熳咏粨Q,同時 r 指針減 1,即 r 指針向前移動,未處理的部分減 1。剛開始時,r 指向繩子中最后一個旗子,之后 r 指針不斷前移,當(dāng)其位于 w 指針之前,即 r 的值小于 w 的值時,全部旗子處理完畢,可以結(jié)束比較和移動旗子操作。


在程序中通過宏定義用大寫字母 'B' 'W' 'R' 分別代表藍(lán)色、白色和紅色;字符數(shù)組 “char color[]”表示繩子上的各種顏色的旗子;旗子移動時通過一個 while 循環(huán)判斷移動過程是否結(jié)束,在 while 循環(huán)中根據(jù)旗子的不同顏色進(jìn)行不同的處理。

程序代碼

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BLUE 'B'
#define WHITE 'W'
#define RED 'R'
#define swap(x,y){char temp;\
        temp=color[x];\
        color[x]=color[y];\
        color[y]=temp;}
 
int main()
{
    char color[]={'R','W','B','W','W','B','R','B','W','R','\0'};
    int w=0;
    int b=0;
    int r=strlen(color)-1;
    int i;
 
    for(i=0;i<strlen(color);i++)
        printf("%c ",color[i]);
    printf("\n");
    while(w<=r)
    {
        if(color[w]==WHITE)
            w++;
        else
        {
            if(color[w]==BLUE)
            {
                swap(b,w);
                b++;
                w++;
            }
            else
            {
                while(w<r&&color[r]==RED)
                    r--;
                swap(r,w);
                    r--;
            }
        }
    }
    for(i=0;i<strlen(color);i++)
        printf("%c ",color[i]);
    printf("\n");
    return 0;
}
調(diào)試運行結(jié)果
交換前旗子顏色排列順序及按順序最少次數(shù)移動旗子后的排列順序如下所示:
R W B W W B R B W R
B B B W W W W R R R
總結(jié)
在該實例中,分別用語句“int w=0;”“int b = 0;”“int r=strlen(color)-1;”定義并初始化白旗、藍(lán)旗、紅旗的指針 w、b、r。在交換不同顏色旗子時,通過旗子的指針實現(xiàn)交換函數(shù) swap 的功能。
    作者:大學(xué)生新聞網(wǎng)    來源:大學(xué)生新聞網(wǎng)
    發(fā)布時間:2025-03-10    閱讀:
    掃一掃 分享悅讀
  • C語言三色旗問題
  • 有一根繩子,上面有紅、白、藍(lán)三種顏色的旗子。
  • 03-10 關(guān)注:0
  • C語言整數(shù)逆序輸出
  • 將一個從鍵盤輸入的整數(shù)存放到一個數(shù)組中,通過程序的運行按照數(shù)組中的逆序輸出該整數(shù),利用遞歸的方法解決問題。
  • 03-10 關(guān)注:0
  • C語言約瑟夫環(huán)問題
  • 編號為 1,2,3,…,n 的 n 個人圍坐一圈,任選一個正整數(shù) m 作為報數(shù)上限值,從第一個人開始按順時針方向報數(shù),報數(shù)到 m 時停止,報
  • 03-10 關(guān)注:0
  • C語言輸出等腰三角形
  • 本實例要求從鍵盤輸入任意整數(shù) n,通過程序運行輸出對應(yīng)高度為 n 的等腰三角形。
  • 03-10 關(guān)注:0
  • C語言字符串加密和解密算法
  • 在本實例中要求設(shè)計一個加密和解密算法。在對一個指定的字符串加密之后,利用解密函數(shù)能夠?qū)γ芪慕饷埽@示明文信息。
  • 03-09 關(guān)注:3
  • C語言獲取矩陣的最大值及其下標(biāo)
  • 本實例要求使用二維數(shù)組將一個 3×4 的矩陣中所有元素的最大值及其下標(biāo)獲取,通過該程序,掌握二維數(shù)組的引用知識。
  • 03-09 關(guān)注:4
人人爱人人爽_2色视频网站_日韩欧美亚洲_中文字幕一区二区三中文字幕_制服丝袜影音先锋_成年人免费影院_freexxxx性特大另类
91视视频在线直接观看在线看网页在线看 | 国产一区二区三区在线观看免费视频| 欧美变态tickle挠乳网站| 99re这里只有精品6| 国产一区二区不卡老阿姨| 无吗不卡中文字幕| 一区二区三区四区视频精品免费| 久久午夜羞羞影院免费观看| 国产精品电影一区二区| 一区二区三区四区国产精品| 中文字幕av一区二区三区免费看| 欧美草草影院在线视频| 欧美一卡2卡三卡4卡5免费| 中文字幕一区二区5566日韩| 日韩和的一区二区| 亚洲成人自拍偷拍| 亚洲夂夂婷婷色拍ww47| 亚洲乱码日产精品bd| 国产精品久久久久久久岛一牛影视 | 综合中文字幕亚洲| 综合激情成人伊人| 亚洲青青青在线视频| 中文字幕综合网| 成人午夜视频网站| 国产精品资源站在线| 久久国产精品第一页| 美女性感视频久久| 九色|91porny| 国产伦精品一区二区三区视频青涩| 欧美一卡二卡三卡| 偷窥国产亚洲免费视频| 日韩av电影免费观看高清完整版| 色诱视频网站一区| 在线看一区二区| 精品婷婷伊人一区三区三| 欧美剧情片在线观看| 91精品国产aⅴ一区二区| 日韩久久精品一区| 欧美高清在线视频| 亚洲激情在线激情| 日本午夜精品视频在线观看| 极品少妇一区二区三区精品视频| 国产成人在线视频网站| 亚洲码国产岛国毛片在线| 一区二区三区蜜桃网| 天天操天天干天天综合网| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区三区免费播放| 福利一区二区在线| 欧美在线你懂得| 亚洲图片你懂的| 久久―日本道色综合久久| 亚洲视频中文字幕| 日韩精品91亚洲二区在线观看| 久久成人av少妇免费| 成人国产精品视频| 欧美精品亚洲一区二区在线播放| 精品欧美久久久| 亚洲激情中文1区| 激情综合色综合久久| 日韩欧美国产不卡| 麻豆成人免费电影| 91在线视频播放| 欧美成人bangbros| 亚洲v中文字幕| 欧美电影免费观看高清完整版在| 国产欧美综合在线| 青娱乐精品视频在线| 91丨porny丨首页| 精品久久久久久久人人人人传媒| 亚洲理论在线观看| 26uuu久久综合| 日本韩国欧美在线| 久久久久久免费| 日韩高清一区在线| 91网址在线看| 国产清纯在线一区二区www| 五月综合激情日本mⅴ| 一本色道久久综合亚洲精品按摩| 欧美精品一区男女天堂| 爽好多水快深点欧美视频| 色先锋久久av资源部| 国产精品久久久一区麻豆最新章节| 久久精品国产精品亚洲精品| 欧美日韩国产乱码电影| 亚洲精品成人在线| 91香蕉视频污在线| 91亚洲国产成人精品一区二区三| 久久精品欧美一区二区三区不卡| 美女高潮久久久| 老司机精品视频一区二区三区| 99久久99久久精品免费观看| 国产欧美日韩麻豆91| 久久不见久久见中文字幕免费| 2024国产精品| 久久网站最新地址| 久久99精品久久久久久久久久久久 | 中文字幕不卡三区| 国产一区二区不卡| 欧美tickling挠脚心丨vk| 日本不卡视频一二三区| 欧美精品久久天天躁| 亚洲国产精品久久艾草纯爱| 欧美伊人久久大香线蕉综合69| 国产精品久久精品日日| 成人丝袜高跟foot| 国产精品精品国产色婷婷| 亚洲日本一区二区| 成人午夜电影网站| 亚洲免费观看高清完整版在线| 不卡视频在线观看| 亚洲欧美日韩国产综合在线| 日本高清视频一区二区| 亚洲欧美日韩在线播放| 欧美这里有精品| 日韩vs国产vs欧美| 国产在线国偷精品产拍免费yy| 精品久久久久久久久久久久久久久久久 | 久久精品国产99久久6| 91精品国产一区二区三区| 麻豆国产精品视频| 久久精品视频在线免费观看| 粉嫩久久99精品久久久久久夜| 国产精品久久久久久久久动漫| 国产欧美一区二区精品性 | 国产一区二区三区日韩| 久久久久久久久97黄色工厂| 国产精品99久久久久久久vr| 一区视频在线播放| 欧美精品精品一区| 国产成人av在线影院| 日韩精品一区在线| 国产精品一区二区三区乱码| 最新热久久免费视频| 欧美一区二区三区公司| 成人综合在线视频| 视频一区二区国产| 国产日本欧洲亚洲| 欧美三级资源在线| 国产精品综合一区二区| 亚洲一区二区欧美日韩| 精品国产三级电影在线观看| 色94色欧美sute亚洲线路一ni | 制服.丝袜.亚洲.另类.中文| 久久99精品一区二区三区三区| 国产精品每日更新| 亚洲制服丝袜av| www精品美女久久久tv| 色综合一区二区| 极品少妇xxxx精品少妇| 亚洲一区二区av在线| 国产日韩欧美a| 91超碰这里只有精品国产| 国产精品99久久久久久有的能看| 欧洲生活片亚洲生活在线观看| 欧美成人免费网站| 欧美性生活大片视频| 99久久精品国产导航| 国产在线精品免费| 午夜成人免费电影| 亚洲欧美经典视频| 国产人伦精品一区二区| 日韩欧美国产一区二区在线播放| 在线观看91视频| 91麻豆国产香蕉久久精品| 国产一区不卡视频| 看电影不卡的网站| 日韩av电影一区| 午夜亚洲福利老司机| 亚洲另类在线一区| 1024成人网| 国产精品二区一区二区aⅴ污介绍| 国模少妇一区二区三区| 日本午夜一本久久久综合| 亚洲国产精品久久艾草纯爱| 综合分类小说区另类春色亚洲小说欧美| 一区二区三区在线免费观看| 国产精品白丝jk黑袜喷水| 蜜桃一区二区三区在线| 日韩成人精品在线| 免费成人在线播放| 国产一区在线观看视频| 欧美国产禁国产网站cc| 国产婷婷色一区二区三区四区 | 亚洲一线二线三线久久久| 国产精品的网站| 亚洲欧美成aⅴ人在线观看| 亚洲天堂精品在线观看| 亚洲免费看黄网站| 亚洲小少妇裸体bbw| 亚洲成a人v欧美综合天堂| 午夜精品aaa| 青娱乐精品视频在线| 国产一区二区三区综合| 岛国一区二区在线观看| av亚洲精华国产精华精华| 色诱视频网站一区| 欧美精品在线视频| 蜜臀a∨国产成人精品| 麻豆成人免费电影|