亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言實現文件內容按行隨機排列的算法示例

2020-01-26 13:54:50
字體:
來源:轉載
供稿:網友

本文實例講述了C語言實現文件內容按行隨機排列的算法。分享給大家供大家參考,具體如下:

在實際工作上有種需求, 就是需要從給定的數據里,隨機抽取一部分。

有一種簡單的方法是根據總的數據條數和要抽取的數據條數, 通過簡單方法,隔幾行取一個,這樣也能達到隨機抽取一部分的目的。

但這樣,源數據是順序的,則抽取的數據也是順序的,不滿足一些情境。

這里實現的功能是: 將全部數據,按行重新隨機排列, 這樣從結果頭部選幾行,就是隨機抽取的幾行了,比較方便。

實現的思路:  對于N行的數據, 給每一行用[1-N]之間不重復的數做標記, 最后按標記數排列即可。(不重復上要稍微費點兒心思)

實現思路比較重要,實現就簡單了~

實現上用c結合shell的方式,下面為參考代碼。

總控腳本:用不重復隨機數做標記,然后按標記排序

#!/bin/sh### note: sh random.sh in_fname out_fname ###infile=$1outfile=$2line_num=`cat $infile | wc -l `./random $line_num $infile $outfile.tmpsort $outfile.tmp -k 2 -n -t ' ' | cut -f1 > $outfile

隨機化的執行程序random的實現

//random.c#include <string>#include <iostream>#include <ctime>#include <cstdlib>using namespace std;const int LEN = 4098;//返回屬于[p,q)的隨機整數int rand(int p, int q){   int size = q-p+1;   return p+ rand()%size;}//交換兩個元素值void swap(int& a , int& b){   int temp = a;   a = b;   b = temp;}//打印數組值void print(int *v, int n){    for(int i=0; i < n ; i++)    {        printf("%u/n", v[i]);    }}//給數組a[n], 隨機不重復賦值[1,n]之間的數void randomize(int *v, int n){    //initialize    for(int i=0; i < n; i++)    {        v[i] = i+1;    }    for(int i=n-1; i>0; i--)    {        int r = rand(0,i+1);        swap(v[r], v[i]);    }}//刪除換行符int chomp(char *str){  int len = strlen(str);  while(len > 0 && (str[len - 1] == '/n' || str[len - 1] == '/r'))  {    str[len - 1] = 0;    len--;  }  return len;}//主函數int main(int argc, char *argv[]){    int line_num = atoi(argv[1]);    printf("%u/n",line_num);    int *value = (int*)malloc((line_num) * sizeof(int));    printf("%u/n",line_num);    randomize(value, line_num);    //print(value, N);    FILE* infile = fopen(argv[2], "r");    if( infile == NULL )    {        printf("Cann't open file %s.", argv[1]);        return 0;    }    FILE* outfile = fopen(argv[3], "w");    if( outfile == NULL)    {        printf("Cann't open file %s to write.", argv[2]);        return 0;    }    int i=0;    char str[LEN];    str[0] = 0;    str[LEN-1] = 0;    while( !feof(infile) )    {        if( !fgets(str, sizeof(str),infile))        {            break;        }        str[LEN- 1] = 0;        chomp(str);        fprintf(outfile, "%s/t%u/n", str, value[i]);        i++;    }    fclose(infile);    fclose(outfile);    return 0;}

希望本文所述對大家C語言程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美三级在线| 亚洲国产精品美女| 97视频在线观看亚洲| 黄色91在线观看| 96pao国产成视频永久免费| 4438全国成人免费| 亚洲欧美日韩第一区| 伦伦影院午夜日韩欧美限制| 日韩一区二区在线视频| 97视频在线观看免费高清完整版在线观看| 久久国产精品久久精品| 狠狠躁夜夜躁人人爽天天天天97| 欧美一乱一性一交一视频| 日韩av网站导航| 日韩小视频网址| 国产精品久久电影观看| 日韩在线观看免费av| 黑人极品videos精品欧美裸| 精品久久久中文| 欧美激情视频播放| 日韩欧美视频一区二区三区| 亚洲自拍小视频| 91精品国产综合久久香蕉| 日韩有码在线观看| 亚洲女在线观看| 亚洲mm色国产网站| 亚洲人成欧美中文字幕| 国产热re99久久6国产精品| 欧美天天综合色影久久精品| 国产美女久久精品香蕉69| 国产美女直播视频一区| 亚洲日韩第一页| 一区二区三区四区视频| 欧美亚洲激情视频| 激情av一区二区| 日韩极品精品视频免费观看| 91高潮精品免费porn| 日韩精品视频在线观看免费| 隔壁老王国产在线精品| 亚洲精品久久久久| 日韩精品亚洲元码| 久久久中精品2020中文| 国产mv免费观看入口亚洲| 欧美日韩国产综合新一区| 97av视频在线| 欧美多人爱爱视频网站| 久久免费福利视频| 国产精品中文久久久久久久| 精品少妇v888av| 日韩中文在线中文网三级| 色阁综合伊人av| 日韩精品免费综合视频在线播放| 色综合导航网站| 亚洲欧美在线一区| 国产999在线观看| 久久理论片午夜琪琪电影网| 国产精品专区h在线观看| 亚洲成人动漫在线播放| 欧美国产日韩精品| 国产精品久久久久福利| 色偷偷av一区二区三区| 亚洲高清av在线| 国产精品久久久久久久久久小说| 日韩免费av一区二区| 国产精品亚洲美女av网站| 色婷婷综合成人av| 91精品国产自产91精品| 亚洲视频在线观看免费| 久热精品视频在线观看| 1769国产精品| 91高清视频在线免费观看| 日韩电影在线观看免费| 992tv在线成人免费观看| 国产成人黄色av| 日韩69视频在线观看| 亚洲无线码在线一区观看| 色噜噜国产精品视频一区二区| 91高清视频免费| 在线观看中文字幕亚洲| 国产成人鲁鲁免费视频a| 亚洲天堂av图片| 成人精品久久av网站| 国产精品看片资源| 91久久精品日日躁夜夜躁国产| 久久久人成影片一区二区三区| 日韩在线资源网| 九色精品美女在线| 国产成人av网址| 奇米成人av国产一区二区三区| 日本免费在线精品| 欧美刺激性大交免费视频| 久久99精品久久久久久噜噜| 成人美女av在线直播| 久久精品国产成人| 国产精品亚洲综合天堂夜夜| 久久久久久久久久久人体| 国产一区二区三区直播精品电影| 久久91超碰青草是什么| 91精品国产高清久久久久久| 精品香蕉在线观看视频一| 久久艹在线视频| 97碰碰碰免费色视频| 国产69精品久久久久9| 欧美精品在线极品| 日韩女优在线播放| 在线观看中文字幕亚洲| 日本19禁啪啪免费观看www| 精品国产福利视频| 欧美激情2020午夜免费观看| 91情侣偷在线精品国产| 亚洲国产高清福利视频| 91产国在线观看动作片喷水| 日韩在线中文字| 狠狠色狠狠色综合日日五| 亚洲午夜av久久乱码| 精品国产91久久久| 亚洲精品色婷婷福利天堂| 亚洲欧美制服中文字幕| 97国产真实伦对白精彩视频8| 亚洲老头老太hd| 国产精品com| 亚洲国产精品va在看黑人| 91久久国产精品91久久性色| 一区二区三欧美| 日韩欧美高清在线视频| 欧美在线免费视频| 亚洲一区中文字幕| 成人免费视频97| 亚洲精品国产电影| 国产精品va在线播放我和闺蜜| 疯狂蹂躏欧美一区二区精品| 欧美激情综合色综合啪啪五月| 国产精品视频在线播放| 中文字幕亚洲一区| 日韩av网站电影| 国产亚洲精品美女久久久| 久久综合久久美利坚合众国| 国产精品27p| 精品女厕一区二区三区| 国产日韩一区在线| 欧美精品aaa| 91在线色戒在线| 亚洲精品在线看| 国产亚洲精品高潮| 伦伦影院午夜日韩欧美限制| 欧美精品久久久久| 中文字幕国产日韩| 亚洲美女动态图120秒| 97久久超碰福利国产精品…| 亚洲国产精品系列| 欧美激情在线观看视频| 国产亚洲欧洲在线| 亚洲第一福利网| 国产精品国产三级国产aⅴ浪潮| 亚洲国产日韩一区| 欧美人与性动交| 亚洲欧洲在线免费| 日韩成人av在线播放| 在线视频日本亚洲性| 欧美日韩色婷婷| 亚洲精品福利视频| …久久精品99久久香蕉国产| 欧美在线xxx| 午夜精品一区二区三区av|