/* **************************************************************************************************************************** * FunctionName :Read_Mint_blue * Parameter :List *L * Return :Corret:OK Error:ERROR * Description :Read the vocabulary from the mint blue ***************************************************************************************************************************** */ Status Read_Mint_blue(List *L) { Status status; FILE *fp; Word word; fp = fopen("Lexicon.txt","r"); if(NULL == fp) return ERROR; while(feof(fp) == 0) { if(feof(fp) != 0 ) break; fscanf(fp,"%s %s %u %u %f", word.e, word.c, &word.err_num, &word.num_recite, &word.priority); status = ListInput_Sq(L, word); if(status != OK) return ERROR; if(feof(fp) != 0 ) break; } status = ListDelete_Sq(L, L->length, &word);//ɾ³ýÒòfeof£¨£©º¯Êý¶à¶ÁµÄÒ»Ïî if(status != OK) return ERROR; fclose(fp); return OK; }
int main() { int i; SqList L; int get,e; InitList_Sq(&L); printf("请输入你要进行的操作序号\n"); printf("1.线性表置空\n"); printf("2.求线性表长度\n"); printf("3.数据元素的插入操作\n"); printf("4.数据元素的删除操作\n"); printf("5.显示线性表中的全部元素\n"); scanf("%d",&get); switch(get) { case 1: destroy(*L); case 2: get_length(*L); case 3: ListInsert_Sq(*L,5,10); printf(""); case 4: ListDelete_Sq(*L,5,&e); } return OK; }
//对顺序链表各个功能函数的测试 void SqLsitTest() { int i; int a[5]={1,2,3,5,8}; int b[5]={4,6,8,9,0}; ElemType temp; SqList La,Lb,Lc; InitList_Sq( La ); InitList_Sq( Lb ); InitList_Sq( Lc ); for ( i=1;i< 6; i++) ListInsert_Sq( La,i,a[i-1]); for ( i=1;i< 6; i++) ListInsert_Sq( Lb,i,b[i-1]); //ListDelete_Sq( &Lb, 4, delet ); //printf("\n the delete is: %d \n", delet); for(i=0;i <5; i++) { printf( "addr:%p, value: %d ",&(La.elem[i]),La.elem[i]); printf( "addr:%p, value: %d\n",&(Lb.elem[i]),Lb.elem[i]); //printf( "addr:%p, value: %d\n", (a+i),a[i]); //printf( "addr:%d, value: %d\n", (a+i),a[i]); } MergeList_sq( La, Lb, Lc); printf("\n===========The Sq_List_c is =========\n"); for(i=0;i <10; i++) printf( " addr:%p, value: %d \n",&(Lc.elem[i]),Lc.elem[i]); if ( ListDelete_Sq( Lc,4,temp) == 1 ) { printf("\n==========The Delete Sq_List_c is==========\n"); for(i=0;i <9; i++) printf( " addr:%p, value: %d \n",&(Lc.elem[i]),Lc.elem[i]); printf("the delet element is : %d\n",temp); } i = LocateElem_Sq(Lc,6,compare) ; printf("\nthe Locate element is the :%d\n ", i); }
void mian() { int delet; SqList La,Lb,Lc; InitList_Sq( La ); InitList_Sq( Lb ); InitList_Sq( Lc ); La.elem = { 1,2,3,4,5}; Lb.elem = { 6,7,8,9,0}; ListDelete_Sq( &Lb, 4, delet ); printf("\n the delete is: %d \n", delet); }
int main() { student s; SqList L; InitList_Sq(L); s.score = 60; s.boy = true; ListInsert_Sq(L, 1, s); s.score = 70; s.boy = false; ListInsert_Sq(L, 1, s); s.score = 90; s.boy = false; ListInsert_Sq(L, 2, s); int n = Length(L);// int n = L.length; for (int i = 1; i <= n; i++) { GetElem(L, i, s); std::cout << s.score << " " << s.boy << "\n"; } ListDelete_Sq(L, 1, s); std::cout << "删除的1号元素是:"<<s.score << " " << s.boy << "\n"; n = Length(L); for (int i = 1; i <= n; i++) { GetElem(L, i, s); std::cout << s.score << " " << s.boy << "\n"; } double average_score = 0; for (int i = 1; i <= n; i++) { GetElem(L, i, s); average_score += s.score; } average_score /= n; std::cout << "平均分是" << average_score << "\n"; return 0; }
Status Recite(List *L) { Status status; unsigned int i=1,j=0,old_err_num,len; char ch; Word word; printf("Notice: Press '#' to hint the correct spell. Press '$' to Quit the learning. Press '!'to delete the vocabulary.\n"); while(i>0 && i<=L->length) { status = ListGetElem_Sq(L, i, &word); if(status != OK) return ERROR; len = strlen(word.e); word.num_recite++; old_err_num=word.err_num; j=0; puts(word.c); while(1) { ch = getche(); if(ch=='$' || ch=='!') { Cover_row(); break; } if('#'==ch) { word.err_num++; Cover_row(); if(word.err_num-old_err_num>6) { printf("%s",word.e); Sleep(100*len); } else { if(word.err_num-old_err_num>3) { printf("%s",word.e); Sleep(100*len); } else { printf("%s",word.e); Sleep(100*len); } } // puts(word.e); // Sleep(100*len); Cover_row(); j=0; } if(word.e[j]==ch) { if(j==len-1) { break; } j++; } else { j=0; Cover_row(); } } if('$'==ch) { return OK; } if('!'==ch) { status = ListDelete_Sq(L, i, &word); i--; } else { status = ListPutElem_Sq(L, i, word); } i++; // Cover_row(); printf("\n\n"); } return OK; }