1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct Node{ int n; struct Node * next; }node,*LN; void print(LN list){ while(list){ printf("%d ",list->n); list=list->next; } } int main(){ LN list,p,t,q; int x,n; scanf("%d%d",&x,&n); list=(LN)malloc(sizeof(node)); scanf("%d",&list->n); p=list; while(n>1){ t=(LN)malloc(sizeof(node)); scanf("%d",&t->n); p->next=t; p=t; n--; } p->next=NULL; p=list; if(p==NULL || x<p->n){ printf("no\n"); printf("%d ",x); print(list); return 0; } if(p->n==x){ t=p->next; list=t; p->next=t->next; t->next=p; print(list); return 0; } q=p; while(p){ if(p->n==x){ printf("%d\n",x); t=p->next; if(t==NULL)break; q->next=t; p->next=t->next; t->next=p; break; } if(p->n>x){ /*t=(LN)malloc(sizeof(node)); t->n=x; q->next=t; t->next=p;*/ break; } q=p; p=p->next; continue; } if(p==NULL || p->n!=x){ printf("no\n"); t=(LN)malloc(sizeof(node)); t->n=x; q->next=t; t->next=p; } print(list); return 0; }
C++ :
#include <stdio.h> #include <algorithm> using namespace std; int a[10002]; int main(){ //freopen("cin.txt","r",stdin); int x; while(scanf("%d",&x)!=EOF){ int n,i; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); int* upperPos=upper_bound(a,a+n,x); int len=upperPos-a; //printf("len=%d\n",len); if(a[len-1]==x) { printf("%d\n",len+1); int temp=a[len-1]; a[len-1]=a[len]; a[len]=temp; for(i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); } else { printf("no\n"); for(i=n-1;i>=len;i--) a[i+1]=a[i]; a[len]=x; for(i=0;i<n+1;i++) { printf("%d ",a[i]); } printf("\n"); } } return 0; }
- 1
信息
- ID
- 1309
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者