c语言的上级步骤,数据结构 上级程序一(C语言).doc
數據結構 上級程序一(C語言)
程序一:順序表的運算
#define MAX 100
#include "stdio.h"
int n;
int insert(int b[],int x,int i)
{
int j;
if(n>=MAX) return(0);
if(i<1||i>n+1) return(0);
else
{
for(j=n;j>=i;j--)
b[j]=b[j-1];
b[j]=x;
n++;
return(1);
}
}
int delete(int b[],int i)
{
int j;
if(n==0) return(0);
if(i<1||i>n) return(0);
else
{
for(j=i;j
b[j-1]=b[j];
n--;
return(1);
}
}
void quit()
{
exit(0);
}
void print(int b[])
{
int j;
printf("\n");
for(j=0;j
printf("%4d",b[j]);
printf("\n");
}
main()
{
int a[MAX]={10,34,81,25,97,50};
int x,i,sel,result;
printf("\n\n");
n=6;
while(1)
{
printf("1. insert\n");
printf("2. delete\n");
printf("3. exit\n");
printf("************************\n");
printf("Please select(1-3): ");
scanf("%d",&sel);
switch(sel)
{
case 1: printf("Please input the inserted number: ");
scanf("%d",&x);
printf("Please input the insert-location: ");
scanf("%d",&i);
result=insert(a,x,i);
if(result==1)
{ printf("\nThe result after insert:\n");
print(a);
}
break;
case 2: printf("Please input the index of delete: ");
scanf("%d",&i);
result=delete(a,i);
if(result==1)
{
printf("\nThe result after delete:\n");
print(a);
}
break;
case 3: quit();
break;
default: printf("\nINPUT SELECT ERROR! PlEASE RETRY!\n\n");
}
}
}
程序二:單鏈表的運算
#include "stdio.h"
#include "stdlib.h"
struct link
{ int data;
struct link *next;
};
typedef struct link NODE;
NODE *rcreat()
{
NODE *p,*r,*s;
int i;
s=(NODE*)malloc(sizeof(NODE));
p=s;
r=s;
s->next=NULL;
printf("\n\nPlease input data: ");
scanf("%d",&i);
while(i)
{
s=(NODE*)malloc(sizeof(NODE));
s->data=i;
r->next=s;
r=s;
printf("\nPlease input data: ");
scanf("%d",&i);
}
r->next=NULL;
return(p);
}
void pr
總結
以上是生活随笔為你收集整理的c语言的上级步骤,数据结构 上级程序一(C语言).doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言数据结构 自测卷答案,《c语言数据
- 下一篇: c语言学生成绩删除功能,c语言学生成绩管