SeqList.h
上传用户:tinajin
上传日期:2014-01-19
资源大小:136k
文件大小:1k
源码类别:

操作系统开发

开发平台:

C/C++

  1. typedef struct 
  2. {
  3. SeqDataType list[MaxSize];
  4. int size;
  5. }SeqList;
  6. void SeqListInitiate(SeqList *L)
  7. {
  8. L->size=0;
  9. }
  10. int SeqListLength(SeqList L)
  11. {
  12. return L.size;
  13. }
  14. int SeqListInsert(SeqList *L,int i,SeqDataType x)
  15. {
  16. int j;
  17. if(L->size>=MaxSize)
  18. {
  19. printf("顺序表已满无法插入!n");
  20. return 0;
  21. }
  22. else if(i<0||i>L->size)
  23. {
  24. printf("参数i不合法!n");
  25. return 0;
  26. }
  27. else 
  28. {
  29. for(j=L->size;j>i;j--)
  30. L->list[j]=L->list[j-1];
  31. L->list[i]=x;
  32. L->size++;
  33. return 1;
  34. }
  35. }
  36. int SeqListDelete(SeqList *L,int i,SeqDataType *x)
  37. {
  38. int j;
  39. if(L->size<=0)
  40. {
  41. printf("顺序表已空无数据可删!n");
  42. return 0;
  43. }
  44. else if(i<0||i>L->size-1)
  45. {
  46. printf("参数i不合法");
  47. return 0;
  48. }
  49. else
  50. {
  51. *x=L->list[i];
  52. for(j=i+1;j<=L->size-1;j++)
  53. L->list[j-1]=L->list[j];
  54. L->size--;
  55. return 1;
  56. }
  57. }
  58. int SeqListGet(SeqList L,int i,SeqDataType *x)
  59. {
  60. if(i<0||i>L.size)
  61. {
  62. printf("参数i不合法!n");
  63. return 0;
  64. }
  65. else
  66. {
  67. *x=L.list[i];
  68. return 1;
  69. }
  70. }