亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chap21.lst

?? c語言大全及例程源碼
?? LST
字號:
listing 1
/* The Bubble Sort. */
void bubble(char *items, int count)
{
  register int a, b;
  register char t;

  for(a=1; a < count; ++a)
    for(b=count-1; b >= a; --b) {
      if(items[b-1] > items[b]) {
        /* exchange elements */
        t = items[b-1];
        items[b-1] = items[b];
        items[b] = t;
      }
    }
}

listing 2
/* Sort Driver */

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void bubble(char *items, int count);

int main(void)
{
  char s[255];

  printf("Enter a string:");
  gets(s);
  bubble(s, strlen(s));
  printf("The sorted string is: %s.\n", s);

  return 0;
}

listing 3
/* The Shaker Sort. */
void shaker(char *items, int count)
{
  register int a;
  int exchange;
  char t;

  do {
    exchange = 0;
    for(a=count-1; a > 0; --a) {
      if(items[a-1] > items[a]) {
        t = items[a-1];
        items[a-1] = items[a];
        items[a] = t;
        exchange = 1;
      }
    }

    for(a=1; a < count; ++a) {
      if(items[a-1] > items[a]) {
        t = items[a-1];
        items[a-1] = items[a];
        items[a] = t;
        exchange = 1;
      }
    }
  } while(exchange); /* sort until no exchanges take place */
}

listing 4
/* The Selection Sort. */
void select(char *items, int count)
{
  register int a, b, c;
  int exchange;
  char t;

  for(a=0; a < count-1; ++a) {
    exchange = 0;
    c = a;
    t = items[a];
    for(b=a+1; b < count; ++b) {
      if(items[b] < t) {
        c = b;
        t = items[b];
        exchange = 1;
      }
    }
    if(exchange) {
      items[c] = items[a];
      items[a] = t;
    }
  }
}

listing 5
/* The Insertion Sort. */
void insert(char *items, int count)
{

  register int a, b;
  char t;

  for(a=1; a < count; ++a) {
    t = items[a];
    for(b=a-1; (b >= 0) && (t < items[b]); b--)
      items[b+1] = items[b];
    items[b+1] = t;
  }
}

listing 6
/* The Shell Sort. */
void shell(char *items, int count)
{

  register int i, j, gap, k;
  char x, a[5];

  a[0]=9; a[1]=5; a[2]=3; a[3]=2; a[4]=1;

  for(k=0; k < 5; k++) {
    gap = a[k];
    for(i=gap; i < count; ++i) {
      x = items[i];
      for(j=i-gap; (x < items[j]) && (j >= 0); j=j-gap)
        items[j+gap] = items[j];
      items[j+gap] = x;
    }
  }
}

listing 7
/* Quicksort setup function. */
void quick(char *items, int count)
{
  qs(items, 0, count-1);
}

/* The Quicksort. */
void qs(char *items, int left, int right)
{
  register int i, j;
  char x, y;

  i = left; j = right;
  x = items[(left+right)/2];

  do {
    while((items[i] < x) && (i < right)) i++;
    while((x < items[j]) && (j > left)) j--;

    if(i <= j) {
      y = items[i];
      items[i] = items[j];
      items[j] = y;
      i++; j--;
    }
  } while(i <= j);

  if(left < j) qs(items, left, j);
  if(i < right) qs(items, i, right);
}

listing 8
/* A Quicksort for strings. */
void quick_string(char items[][10], int count)
{
  qs_string(items, 0, count-1);
}

void qs_string(char items[][10], int left, int right)
{
  register int i, j;
  char *x;
  char temp[10];

  i = left; j = right;
  x = items[(left+right)/2];

  do {
    while((strcmp(items[i],x) < 0) && (i < right)) i++;
    while((strcmp(items[j],x) > 0) && (j > left)) j--;
    if(i <= j) {
      strcpy(temp, items[i]);
      strcpy(items[i], items[j]);
      strcpy(items[j], temp);
      i++; j--;
   }
  } while(i <= j);

  if(left < j) qs_string(items, left, j);
  if(i < right) qs_string(items, i, right);
}

listing 9
#include <stdio.h>
#include <string.h>

void quick_string(char items[][10], int count);
void qs_string(char items[][10], int left, int right);

char str[][10] = { "one",
                   "two",
                   "three",
                   "four"
                 };

int main(void)
{
  int i;

  quick_string(str, 4);

  for(i=0; i<4; i++) printf("%s ", str[i]);

  return 0;
}

listing 10
struct address {
  char name[40];
  char street[40];
  char city[20];
  char state[3];
  char zip[11];
};

listing 11
/* A Quicksort for structures of type address. */
void quick_struct(struct address items[], int count)
{
  qs_struct(items,0,count-1);
}

void qs_struct(struct address items[], int left, int right)
{

  register int i, j;
  char *x;
  struct address temp;

  i = left; j = right;
  x = items[(left+right)/2].zip;

  do {
    while((strcmp(items[i].zip,x) < 0) && (i < right)) i++;
    while((strcmp(items[j].zip,x) > 0) && (j > left)) j--;
    if(i <= j) {
      temp = items[i];
      items[i] = items[j];
      items[j] = temp;
      i++; j--;
    }
  } while(i <= j);

  if(left < j) qs_struct(items, left, j);
  if(i < right) qs_struct(items, i, right);
}

listing 12
/* Disk sort for structures of type address. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUM_ELEMENTS 4  /* This is an arbitrary number
                           that should be determined
                           dynamically for each list. */

struct address {
  char name[30];
  char street[40];
  char city[20];
  char state[3];
  char zip[11];
} ainfo;

struct address addrs[NUM_ELEMENTS] = {
  "A. Alexander", "101 1st St", "Olney", "Ga", "55555",
  "B. Bertrand", "22 2nd Ave", "Oakland", "Pa", "34232",
  "C. Carlisle", "33 3rd Blvd", "Ava", "Or", "92000",
  "D. Dodger", "4 Fourth Dr", "Fresno", "Mi", "45678"
};

void quick_disk(FILE *fp, int count);
void qs_disk(FILE *fp, int left, int right);
void swap_all_fields(FILE *fp, long i, long j);
char *get_zip(FILE *fp, long rec);

int main(void)
{
  FILE *fp;

  /* first, create a file to sort */
  if((fp=fopen("mlist", "wb"))==NULL) {
    printf("Cannot open file for write.\n");
    exit(1);
  }
  printf("Writing unsorted data to disk.\n");
  fwrite(addrs, sizeof(addrs), 1, fp);
  fclose(fp);

  /* now, sort the file */
  if((fp=fopen("mlist", "rb+"))==NULL) {
    printf("Cannot open file for read/write.\n");
    exit(1);
  }

  printf("Sorting disk file.\n");
  quick_disk(fp, NUM_ELEMENTS);
  fclose(fp);
  printf("List sorted.\n");

  return 0;
}

/* A Quicksort for files. */
void quick_disk(FILE *fp, int count)
{
  qs_disk(fp, 0, count-1);
}

void qs_disk(FILE *fp, int left, int right)
{
  long int i, j;
  char x[100];

  i = left; j = right;

  strcpy(x, get_zip(fp, (long)(i+j)/2)); /* get the middle zip */

  do {
    while((strcmp(get_zip(fp,i),x) < 0) && (i < right)) i++;
    while((strcmp(get_zip(fp,j),x) > 0) && (j > left)) j--;

    if(i <= j) {
      swap_all_fields(fp, i, j);
      i++; j--;
    }
  } while(i <= j);

  if(left < j) qs_disk(fp, left, (int) j);
  if(i < right) qs_disk(fp, (int) i, right);
}

void swap_all_fields(FILE *fp, long i, long j)
{
  char a[sizeof(ainfo)], b[sizeof(ainfo)];

  /* first read in record i and j */
  fseek(fp, sizeof(ainfo)*i, SEEK_SET);
  fread(a, sizeof(ainfo), 1, fp);

  fseek(fp, sizeof(ainfo)*j, SEEK_SET);
  fread(b, sizeof(ainfo), 1, fp);

  /* then write them back in opposite slots */
  fseek(fp, sizeof(ainfo)*j, SEEK_SET);
  fwrite(a, sizeof(ainfo), 1, fp);
  fseek(fp, sizeof(ainfo)*i, SEEK_SET);
  fwrite(b, sizeof(ainfo), 1, fp);
}

/* Return a pointer to the zip code */
char *get_zip(FILE *fp, long rec)
{
  struct address *p;

  p = &ainfo;

  fseek(fp, rec*sizeof(ainfo), SEEK_SET);
  fread(p, sizeof(ainfo), 1, fp);

  return ainfo.zip;
}

listing 13
int sequential_search(char *items, int count, char key)
{
  register int t;

  for(t=0; t < count; ++t)
    if(key == items[t]) return t;
  return -1; /* no match */
}

listing 14
/* The Binary search. */
int binary_search(char *items, int count, char key)
{
  int low, high, mid;

  low = 0; high = count-1;
  while(low <= high) {
    mid = (low+high)/2;
    if(key < items[mid]) high = mid-1;
    else if(key > items[mid]) low = mid+1;
    else return mid; /* found */
  }
  return -1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色自拍一区| 中文字幕在线观看不卡视频| 久久免费午夜影院| 亚洲视频免费在线| 国产精品一区二区三区99| 色综合久久中文字幕| 日韩一区二区在线看| 亚洲欧美一区二区不卡| 国产精品影视在线观看| 777色狠狠一区二区三区| 亚洲国产精品传媒在线观看| 三级精品在线观看| 在线中文字幕一区| 国产精品家庭影院| 国产一区二区免费看| 欧美精品一卡二卡| 亚洲一区二区三区自拍| 91网站视频在线观看| 久久久亚洲综合| 老司机午夜精品99久久| 91精品国产综合久久精品app | a在线播放不卡| 久久在线观看免费| 九九九精品视频| 欧美一区午夜精品| 天堂资源在线中文精品| 欧美探花视频资源| 亚洲一二三四区| 欧美亚洲国产一区二区三区| 亚洲人123区| 97精品国产露脸对白| 欧美国产精品一区二区三区| 国产成人免费视| 国产欧美一区二区精品秋霞影院| 麻豆精品久久久| 日韩情涩欧美日韩视频| 另类欧美日韩国产在线| ww久久中文字幕| 国产精品99久久久久久有的能看| 久久综合久久鬼色中文字| 精品中文字幕一区二区小辣椒| 欧美日韩国产一二三| 亚洲va中文字幕| 欧美一级电影网站| 国内精品国产三级国产a久久| 久久综合九色综合欧美98| 国产麻豆成人精品| 美女视频黄久久| 欧美一级久久久久久久大片| 国产一区二区不卡| 国产精品网站在线播放| 99久久精品情趣| 亚洲成人免费影院| 日韩免费在线观看| 国产 日韩 欧美大片| 亚洲日本va在线观看| 在线这里只有精品| 精品中文字幕一区二区小辣椒| 欧美激情在线一区二区三区| 91免费精品国自产拍在线不卡| 一区二区三区在线观看欧美| 欧美一区日本一区韩国一区| 国产一区二区在线看| 亚洲男人都懂的| 日韩三级视频中文字幕| 成人免费视频网站在线观看| 亚洲一区在线观看免费观看电影高清| 欧美日韩国产综合一区二区三区 | 欧美欧美欧美欧美| 狠狠色丁香久久婷婷综合_中| 国产精品视频一二三区| 在线亚洲免费视频| 久久不见久久见免费视频7 | 日韩一级黄色片| 国产福利91精品一区| 亚洲免费视频中文字幕| 精品国产乱码久久久久久浪潮 | 国产精品福利一区二区| 欧美日韩国产免费| 处破女av一区二区| 日本欧美肥老太交大片| 最近日韩中文字幕| 精品日韩一区二区三区| 欧美在线免费视屏| 成人av在线一区二区三区| 三级精品在线观看| 亚洲欧美在线另类| 精品久久久久久久久久久院品网 | 99麻豆久久久国产精品免费优播| 天天综合网 天天综合色| 1000部国产精品成人观看| 欧美成人aa大片| 欧美日韩一区二区在线观看| av不卡一区二区三区| 极品少妇xxxx偷拍精品少妇| 亚洲成av人片在线观看| 亚洲男同性恋视频| 久久久99精品久久| 日韩精品一区二区三区swag | 国产成人精品亚洲777人妖| 亚洲成人一区在线| 一区二区高清在线| 亚洲人成在线观看一区二区| 国产农村妇女毛片精品久久麻豆| 日韩欧美二区三区| 国产精品久久久一本精品| 欧美精品一区二区不卡 | 亚洲精品在线观看视频| 欧美日本免费一区二区三区| 欧美在线free| 91久久国产综合久久| 色婷婷综合久色| 色婷婷综合中文久久一本| 99视频一区二区| 日本高清不卡视频| 91在线云播放| 在线视频观看一区| 欧美日韩亚洲另类| 6080国产精品一区二区| 欧美精品99久久久**| 欧美精品自拍偷拍| 欧美一区二区久久| 日韩免费一区二区| 久久久久久久电影| 国产精品嫩草久久久久| 国产精品久久久久久久久动漫 | 欧美日韩中文国产| 91成人网在线| 欧美一卡二卡在线| 久久久99精品免费观看不卡| 国产精品美女久久久久久| 亚洲视频一区在线观看| 亚洲第一激情av| 蜜桃视频免费观看一区| 国产麻豆精品95视频| 波多野结衣中文字幕一区二区三区 | 国产盗摄一区二区| av激情亚洲男人天堂| 色婷婷久久久久swag精品| 欧美日韩成人激情| 精品国产免费人成电影在线观看四季 | 国产欧美日韩在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 久久伊人蜜桃av一区二区| 国产精品欧美综合在线| 亚洲一区二区在线免费看| 日韩电影一区二区三区四区| 美国十次综合导航| 处破女av一区二区| 欧美日韩国产在线观看| 久久久精品综合| 亚洲综合在线第一页| 国产在线乱码一区二区三区| av动漫一区二区| 欧美精品vⅰdeose4hd| 国产精品天干天干在观线| 午夜免费久久看| 成人午夜视频在线观看| 精品视频一区三区九区| 久久久久久久久久久久电影| 91亚洲永久精品| 欧美人动与zoxxxx乱| 2017欧美狠狠色| 尤物在线观看一区| 经典一区二区三区| 欧美日韩视频在线第一区| 日本一区二区电影| 日韩电影在线观看电影| 91网站最新地址| 久久久精品综合| 日本最新不卡在线| bt欧美亚洲午夜电影天堂| 欧美精品一区二区三区高清aⅴ | 国产精品天干天干在线综合| 日本不卡一二三区黄网| 99久久综合色| 久久精品欧美一区二区三区不卡| 亚洲成人激情综合网| 91丝袜国产在线播放| 国产人成一区二区三区影院| 强制捆绑调教一区二区| 欧美影院精品一区| 亚洲图片欧美激情| 国产不卡在线播放| 精品成人免费观看| 麻豆精品视频在线观看免费| 欧美日韩久久久一区| 一区二区免费在线| 99国产精品一区| 亚洲欧洲精品天堂一级| 成人av电影免费在线播放| 国产目拍亚洲精品99久久精品| 另类欧美日韩国产在线| 日韩精品一区二| 国内一区二区视频| 精品久久久久久综合日本欧美| 日本不卡高清视频| 日韩一区二区三区三四区视频在线观看 | 欧美电影一区二区三区| 亚洲电影视频在线|