假设字母 A, B,C,E,F,G储存在一个连续列表中

来源:百度知道 编辑:UC知道 时间:2024/06/07 06:41:29
假设字母 A, B,C,E,F,G储存在一个连续列表中,如果我想在这个列表中加入字母D, 仍然使列表按照字母排序,什么是我必须做到?

插入,并使其后的字母一次后移

#include <iostream>
int main()
{
char a[7]={'A','B','C','E','F','G'};
char ch1='D';
int i,j;
for(i=0;i<=5;i++)
{ if(a[i]>ch1)
break;
}
for(int j=i;j<=6;j++)
{ char y=a[j];
a[j]=ch1;
ch1=y;
}
for( i=0;i<7;i++)
cout<<a[i]<<'\t';
cout<<endl;

return 0;
}

首先,判断链表是否为空,空就把D放入第一个节点。
其次,链表不空,找到D要插入的位置。find(D):
1).如果要插入的位置是第一个节点前。
2).中间节点
3).末尾节点
最后:执行操作并返回。