顺序表插入(c语言实现)

使用环境devC++ 5.11

当出现ID returned 1 exit status (ID返回1退出状态)时关闭运行结果窗口再重新运行就行,或者重启devC++。

代码如下:

#include
#include		//要使用的malloc()函数定义在这个头文件中 ,动态分配内存 
#include		//系统库文件, 

#define MAX 100

typedef struct Seq
{
	int elem[100];
	int length;
	
 }  RSeq;
 
 RSeq init()
 {
 	RSeq *R1;	//结构体指针
	 R1=(struct Seq *)malloc(sizeof(struct Seq));//为顺序表分配内存 
	 R1->length=0;
	 for(int i=0;i<10;i++){		//初始化数组为0,1,2,3,4,5,6,7,8,9 
	 	R1->elem[i]=i;
		 R1->length++;
	 } 
	 return(*R1);//返回结构体 
 }
 
 void display(RSeq Rll)
 {
 	int LL=Rll.length;
	  for(int i=0;iL->length){
  		printf("输入的k不合法!");
  		return;	//返回函数继续执行程序 
	  }
	  
	  for(int i=L->length-1;i>=k;i--){
	  	L->elem[i+1]=L->elem[i];	//元素后移动一位
		  
		  L->length++; 
	  } L->elem[k]=x;
   } 
   //以下代码无法实现,正在 
 /*  void addinsert(RSeq *L,int k,int n,int x)
   {
   	if(k<0||k>L->length){
  		printf("输入的k不合法!");
  		return;//返回函数继续执行程序 
	  }
	  for(int z=0;z<=n;z++){
	  	 for(int i=L->length-1;i>=k;i--){
	  	L->elem[i+1]=L->elem[i];	//元素后移动一位
		  L->elem[k]=x;
		  L->length++; 
	  } 
	  }
   }
*/
   int main(){
   	RSeq A;//定义顺序表
	   A=init();
	   insert(&A,3,100);
	   //addinsert(&A,3,5,200);
	   display(A);
	   system("pause"); 
	    
   }

结果:

你可能感兴趣的:(c语言,c++,数据结构)