c - 链表插入

标签 c arrays algorithm data-structures singly-linked-list

我想尝试链表的插入功能。函数保存记录数组和链接数组。例如;

head=0

string[0]="Angel"   linked[0]=1 
string[1]="Cesar"   linked[1]=2
string[2]="Eduardo" linked[2]=3 
string[3]="Pamela"  linked[3]=-1/*-1 element does not show*/

头是 Angel,Angel 显示的是 Eduardo。如果添加元素 Denial,string[4]=Denial linked[4]=2 Denial 显示 Eduardo.Attention :---->>string[1]="Cesar"linked[1]=4 链接数组已更新。

我在此函数中遇到一些错误。(无法添加元素。)一点帮助

   #define SIZE 10


   int main()
   {
   int linked[SIZE]={3,0,4,-1,1};
   char *str[]={"Ellian","Calanthe","Adela","Gardenia","Barbara",NULL};

   return 0;
   }

   void list(int arr[],int head,int linky[]){
   int adr=head;

   while(adr!=-1){

   puts(arr[adr]);
   adr=linky[adr];

   }

   }

   void insert(int arrr[],int head,int linky[],char element){

   int k,N=0,prev,next;
   for(k=0;arrr[k]<NULL;k++)
   N++;

   arrr[N]=element;

   if(element>arrr[head])
   {
  prev=head;
  next=linky[head];

 while((next!=-1) && (arrr[next]<element)){
 prev=next;
 next=linky[next];
 }

 linky[prev]=N;
 linky[N]=next;

  }
 else{

linky=head;
head=N;

 }
 N++;
 listele(arr,N,linky);

 }

最佳答案

替换

#define SIZE 10

int size = 10;

并替换

void insert(char str[],int link[],int size,int first)

void insert(char str[],int link[],int& size,int& first)

开始。仍然可能行不通,但至少现在你所做的事情实际上做了你想让他们做的事情

关于c - 链表插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22992322/

相关文章:

c - 在C中删除字符串数组的前两个元素

c - 赋值从指针生成整数,无需强制转换(C 语言。)

javascript - 如何获得两个字符串数组的差异?

php - 更改数组中的索引顺序

找到多个方程的评估顺序的算法

c++ - 添加二维数组中列的值

c# - 简单队列算法

仅在 Windows 中的 C 程序编译器警告 (MinGW-w64)

c++ - "=!"运算符是做什么的?

javascript - 如何使用数组和 JQuery 创建可过滤菜单?