zoukankan      html  css  js  c++  java
  • 字符串冒泡排序和折半查找

    输入 10个员工工号和姓名,以工号增加方式排序(姓名跟随改变),按工号查找(同时找出姓名)

    代码如下:

     1 # include<stdio.h>
     2 # include<string.h>
     3 char num[10][7];
     4 char name[10][10];
     5 char temp[10];
     6 char num1[7];
     7 int main()
     8 {
     9     void sort(char[][7],char[][10]);
    10     void search(char[][7],char[][10],char[]);
    11     for(int i=0;i<10;i++)
    12     {
    13         gets(num[i]);
    14         gets(name[i]);
    15     }
    16     sort(num,name);
    17     for(i=0;i<10;i++)
    18     {
    19         printf("%s:%s
    ",num[i],name[i]);
    20     }
    21     printf("输入要查找的工号:");
    22     gets(num1);
    23     search(num,name,num1);
    24     return 0;
    25 }
    26 
    27 void sort(char a[][7],char b[][10])
    28 {
    29     for(int i=0;i<9;i++)
    30     {
    31         int sign=0;
    32         for(int j=9;j>i;j--)
    33         {
    34             if(strcmp(a[j],a[j-1])<0)
    35             {
    36                 sign=1;
    37                 strcpy(temp,a[j]);
    38                 strcpy(a[j],a[j-1]);
    39                 strcpy(a[j-1],temp);
    40                 strcpy(temp,b[j]);
    41                 strcpy(b[j],b[j-1]);
    42                 strcpy(b[j-1],temp);
    43             }
    44         }
    45         if(sign==0) break;
    46     }
    47 }
    48 void search(char a[][7],char b[][10],char c[])
    49 {
    50     int f=0,r=9,mid;
    51     while(f<=r)
    52     {
    53         mid=(f+r)/2;
    54         if(strcmp(a[mid],c)==0)
    55         {
    56             printf("%s:%s
    ",a[mid],b[mid]);
    57             return;
    58         }
    59         else if(strcmp(a[mid],c)<0) r=mid-1;
    60         else f=mid+1;
    61     }
    62     printf("未找到
    ");
    63 }

    运行结果:

  • 相关阅读:
    Flutter Platform Channels
    catch socket error
    global position
    aria2 添加任务后一直在等待,不进行下载是什么情况?
    通知
    rename file
    长按弹菜单
    Linux命令行下如何终止当前程序?
    IOWebSocketChannel.connect handle errors
    writeAsBytes writeAsString
  • 原文地址:https://www.cnblogs.com/bboykaku/p/12450788.html
Copyright © 2011-2022 走看看