天天看點

順序查找-輸入學号查姓名

//

//  main.cpp

//  shunxubiao_search

//

//  Created by duanqibo on 2019/7/12.

//  Copyright © 2019年 duanqibo. All rights reserved.

//  順序查找--輸入學号查找姓名

#include <iostream>

#define MAXSIZE 8

using namespace std;

typedef struct{

    int stuno;

    char stuname[20];

}TableElem;  //定義一個土結構體的類型

TableElem stu[]={{1001,"zhang"},

    {1009,"wang"},

    {2005,"sun"},

    {2008,"liu"},

    {3001,"zheng"},

    {3005,"duan"},

    {4003,"qin"},

    {4400,"ren"}};

typedef struct{

    TableElem elem[MAXSIZE];

    int n;

}Seqtable;

//順序查找函數

int searchseqtable(Seqtable T,int key)

{

    T.elem[0].stuno=key;

    int i=T.n;

    while(T.elem[i].stuno!=key)

        i--;

    return i;

}

int main(int argc, const char * argv[]) {

    // insert code here...

    Seqtable seq;

    for(int i=0;i<MAXSIZE;i++)

    {

        seq.elem[i]=stu[i];

    }

    seq.n=MAXSIZE;

    int kk,mm;

    printf("請輸入要查找的學号:");

    cin>>kk;

    mm=searchseqtable(seq, kk);

    cout<<"序号:"<<mm+1<<endl;

    cout<<"姓名:"<<stu[mm].stuname<<endl;

    return 1;

}

運作結果: