. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->C/C++语言
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  顺序表  [待解决] 回复[ 0次 ]   点击[ 716次 ]  
chinatree
[帖 主]   [ 发表时间:2011-10-10 11:10 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
#include "stdio.h"
#include "malloc.h"
#include "mem.h"
struct abc
{
   int a[100];
   /*a[100]={0};*/
   int b;
}ab;
void rubiao(int p)/*设当前数组内有n个元素,在n+1的地方写入,且ab.b加1*/
{
   if(ab.b>98) printf("ru biao shi bai\n");
   else
    { ab.a[ab.b++]=p;
      printf("ru biao cheng gong!\n");
     }
   return ;
}
void charu(int q,int p)/*在指定位置q加入一个字,ab.b加1*/
{
   q--;
   if(ab.b>98||q<0) printf("cha ru shi bai\n");
   else
   {
     int i,j;
     j=ab.b;
     for(i=q;i<99;i++,j--)
         ab.a[j+1]=ab.a[j];
       ab.a[q]=p;
       ab.b++;
       printf("cha ru cheng gong!\n");
   }
   return;
}
void shanchu(int q)/*在指定位置q删除一个字。*/
{
 if (ab.b<1||q<0||q>ab.b)/*元素个数和要删除的位置不能为0或负,不能删除大于ab.b的位置*/
   {
     ab.a[ab.b]=0;       /*不然就删除当前位置*/
     ab.b--;
     printf("shan chu le zui hou yi ge!\n");
   }
 else
   {
     int i,j;
     j=q;
     for(i=100-q;i--;j++)
        ab.a[j]=ab.a[j+1];
     ab.b--;
     printf("shan chu cheng gong!\n");
   }
   return;
}
void bianli()
{
  int i;
  for(i=0;i<ab.b;i++)   /*循环输出*/
    printf("%d  ",ab.a[i]);
}

int main()
{
      printf("%#X\n",main);
      memset(ab.a,0,200);/*初始化数组*/
      rubiao(1);
      rubiao(2);
      charu(5,6);
      shanchu(2);
      shanchu(0);
      shanchu(1);
      shanchu(NULL);
      ab.b=6;
      bianli();
      getch();
      return 0;
}
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved