C语言数据结构如何在顺序表中新增一个结点。。。。。。。。
方法很简单,就是将插入位置之后的所有及元素都向后移动一位
int main()
{
int a[10] = {3,9,12,5,8,7,14};
int b,pos,i;
printf("请输入插入的值及插入位置:");
scanf("%d %d",&b,&pos);
for(i=7;i>pos;i--)
a[i] = a[i-1];
a[pos] = b;
for(i=0;i<8;i++)
printf("%d ",a[i]);
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
与单向循环链表类似的,只是多了一个prior要考虑,为插入做准备。
struct doubleCircularLinkedList* createNode(int data)
{
//动态申请内存malloc+free c语言的特点
struct doubleCircularLinkedList* newNode = (struct doubleCircularLinkedList*)malloc(sizeof(struct doubleCircularLinkedList));
//创建结点过程相当于初始化过程
newNode->data = data;//传入data数值初始化数据域
newNode->prior = NULL;//初始化头结点为null
newNode->next = NULL;//初始化尾结点为null
return newNode;
}