⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shunxu.c

📁 //顺序表的建立、查找、插入与删除 #include <stdio.h> #include <malloc.h> #include <stdlib.h> #
💻 C
字号:
#include    <stdio.h>
#include    <malloc.h>
#include    <stdlib.h>
#define    ListSize    100    

typedef    struct SeqList
{
    int        node[ListSize];        
    int        length;               
} SeqList;

insertList(SeqList *list, int e)
{
    int    i=list->length-1;               
    if(i>=ListSize-1)                  
    {
        printf("Table is full and can not add new items!\n");
        exit(0);
    }
    else
    {
        while(i>=0 && list->node[i]>e)    
        {
            list->node[i+1]=list->node[i];   
            i--;
        }
        list->node[i+1]=e;                
        list->length++;                 
    }
}

SeqList    *createList(int size)
{
    int    i,data;
    SeqList    *list;
    list=(SeqList *)malloc(sizeof(SeqList));        
    printf("Please enter the order of the round table , the number of elements for the %d \n",size);
    scanf("%d",&data);   
    list->length=1;
    list->node[0]=data;    

    i=1;
    while(i<size)
    {
        scanf("%d",&data);
        insertList(list,data);  
        i++;
    }
    return    list;
}

 
printList(SeqList *list)
{
    int    i=0;
    printf("there is order the table %d elements\n",list->length);
    while(i<list->length)
    {
        printf("%4d",list->node[i]);
        i++;
    }
    printf("\n");
}


searchList(SeqList *list, int e)
{
    int    i;
    i=list->length-1;    
    while(list->node[i]!=e&&i>=0)
        i--;
    if(i>=0)
        printf("To find the elements %d at a table in the order of %d \n",e,i+1);
    else
        printf("Can not find elements% d \n",e);
}


deleteList(SeqList *list, int e)
{
    int    i;
    i=list->length-1;    
    while(list->node[i]!=e&&i>=0)
        i--;
    if(i>=0)
    {
        while(i<list->length-1)
        {
            list->node[i]=list->node[i+1];    
            i++;
        }
        list->length--;
    }

    else
        printf("Can not find elements% d \n",e);
}

void main()
{
    int        num,e;
    int        operate;
    SeqList    *list;
    printf("Please enter the initial list in the order of the number of elements:\n",ListSize);
    scanf("%d",&num);

    list=createList(num);
    printList(list);

    for(;;)
    {
       
        printf("Please select: query (1), insert (2), delete (3), exit (0)");
        scanf("%d",&operate);

        switch(operate)
        {
            case    1:
                printf("query,Please enter the required number of inquiries:\n");
                scanf("%d",&e);
                searchList(list,e);    
                break;
            case    2:
                printf("insert,Please enter the required number of inquiries:\n");
                scanf("%d",&e);
                insertList(list,e);
                printList(list);
                break;
            case    3:
                printf("delete,Please enter the required number of inquiries:\n");
                scanf("%d",&e);
                deleteList(list,e);
                printList(list);
                break;
            case    0:
                exit(0);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -