sjfb.net
当前位置:首页 >> 顺序表删除自第i个元素开始后的k个元素,为什么不... >>

顺序表删除自第i个元素开始后的k个元素,为什么不...

因为输入的时候如果用getchar()就会把ENTER键也做为一个字符,等到的结果就不是你想要的,就会出错。 而用scanf()就不会将ENTER做为输入,而是做为一次输入结束。

要不要把删除元素的顺序也删了(后面的元素前移)?还是归0? 如果删除顺序, n=0 指针在第一元素上 循环:n=n+1 如果 n>=i and n=i and n

如果删除顺序, n=0 指针在第一元素上 循环:n=n+1 如果 n>=i and n=i and n

#include int main() { int a[999],j,i=666,k=66; for(j=0;j++;j

如果删除顺序, n=0 指针在第一元素上 循环:n=n+1 如果 n>=i and n=i and n

把i+k个元素以后的赋值给第i个以后的元素,这样第i个元素后的k个元素就被覆盖了,达到删除的目的。

楼主你好 具体代码如下: #include #include #define MAX 40 typedef struct node { int data[MAX];//数据域 int length;//顺序表长度 }LinkList; void Initial_List(LinkList * &l) { int i; l=(LinkList *)malloc(sizeof(LinkList)); printf("...

# include #include //#include //using namespace std; int main() { int i,k,j; int a[10]={1,2,3,4,5,6,7,8,9,10}; scanf("%d%d",&i,&k); for(;i+k

不好意思,上面的没经过检查,错误太多了,下面是我修改了一下的,你看看行不行了? struct student /*定义结构体类型*/ { int a; struct student *next; }; struct student *del(struct student *head,int i,int k) { struct student *p,*q; in...

bool delete( array,int i,int j) { if(i+j > array.Length) return false; for(int k=i+j-1;k

网站首页 | 网站地图
All rights reserved Powered by www.sjfb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com