加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

(3)设字符串采用单字符的链式存储结构,编程删除串s从位置i开始长度为k的子串。

(2012-05-30 12:38:34)
标签:

采用单

字符串

长度

链表

存储

it

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct linknode
{char data;
 struct linknode *next;
}linkstring;

void DeleateSmallString(linkstring *head,int i,int k)
{linkstring *p,*h,*f;
 int m=1,n=1;
 p=head;
 while(p!=NULL)
  {p=p->next;
   if(m==i-1)
     {
      h=p->next;
      break;     
     }
   m++;
  }
 while(h!=NULL)
  {
   h=h->next;
   n++;             
   if(n==k)
    break;                        
  
  p->next=h->next;
  f=head->next;
  while(f!=NULL)
  {
    printf("%c",f->data);
    f=f->next;             
  
}

main()
{char ch;
 int i,k;
 linkstring *s,*head,*r,*q;
 
 head=(linkstring*)malloc(sizeof(linkstring));
 r=head;
 ch=getchar();
 while(ch!='\n')
 {
   s=(linkstring *)malloc(sizeof(linkstring));
    s->data=ch;
    r->next=s;
    r=s;
    ch=getchar();              
 }
 r->next=NULL;
 q=head;
 printf("输入位置和长度");
 scanf("%d%d",&i,&k);
 printf("%d %d\n",i,k);
 DeleateSmallString(q,i,k);    
 getchar();
 getchar();   
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有