具體要求如下:
1. 利用教材中定義順序表型別存盤病人病歷資訊(病歷號,姓名,癥狀);要求使用頭檔案。
2.設計順序表定位查找演算法,寫成一個函式,完成的功能為:在線性表L中查找資料元素x,如果存在則回傳線性表中和x值相等的第1個資料元素的序號;如果不存在,則回傳-1。
函式定義為 int ListFind(SequenceList L,char *x)
請在主函式中測驗查找是否存在姓名為x的病人,并根據回傳的序號列印出病人資訊。
以下是頭檔案SequenceList.h
#include<stdio.h>
#define MaxSize 100
typedef struct{
ElemType list[MaxSize];
int size;
}SequenceList;
void ListInitialize(SequenceList *L)
{
L->size=0;
}
int ListLength(SequenceList L)
{
return L.size;
}
int ListInsert(SequenceList *L,int i,ElemType x)
{
int j;
if(L->size>=MaxSize)
{
printf("順序表已滿無法查入!\n");
return 0;
}
else if(i<0||i>L->size)
{
printf("引數i不合法!\n");
return 0;
}
else{
for(j=L->size;j>i;j--)
L->list[j]=L->list[j-1];
L->list[i]=x;
L->size++;
return 1;
}
}
int ListDelete(SequenceList *L,int i,ElemType *x)
{
int j;
if(L->size<=0){
printf("順序表已空無資料元素可刪!\n");
return 0;
}
else if(i<0||i>L->size-1){
printf("引數i不合法");
return 0;
}
else{
*x=L->list[i];
for(j=i+1;j<=L->size-1;j++)
L->list[j-1]=L->list[j];
L->size--;
return 1;
}
}
int ListGet(SequenceList L,int i,ElemType *x)
{
if(i<0||i>L.size-1){
printf("引數i不合法");
return 0;
}
else{
*x=L.list[i];
return 1;
}
}
uj5u.com熱心網友回復:
樓主想要做什么?怎么沒看到main函式。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114552.html
標籤:C語言
