Data_Structure/作業/unit2/NODUMMY.c

91 lines
1.8 KiB
C
Raw Permalink Normal View History

2025-01-20 21:30:53 +08:00
#include <stdio.h>
#include <stdlib.h>
void output_P(int P[]);
void Padd(int A[], int B[], int C[],int lenA,int lenB);
void output_P(int P[]) {
int i;
for(i=1;i<P[0]*2;i++){
printf("%d^%d ",P[i+1],P[i]);
i++;
}
}
void Padd(int A[], int B[], int C[],int lenA,int lenB) {
int i = 1 , j=1 , k=1 ,count=0;
while(i<lenA && j<lenB){//<2F><><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>A<EFBFBD>MB<4D><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(A[i]>B[j]){
C[k++] = A[i++];
C[k++] = A[i++];
count++;
}
if(A[i]<B[j]){
C[k++] = B[j++];
C[k++] = B[j++];
count++;
}
if(A[i]==B[j]){
C[k++] = B[j++];
i++;
C[k++] = B[j++] + A[i++];
count++;
}C[0]=count;
}
// <09><><EFBFBD><EFBFBD>
// printf("\nA = (");
// for(i=0;i<lenA;i++){
//// printf("A[%d]=%d ,",i,A[i]);
// printf("%d ",A[i]);
// }
// printf(")\nB = (");
// for(i=0;i<lenB;i++){
//// printf("B[%d]=%d ,",i,B[i]);
// printf("%d ",B[i]);
// }
// printf(")\nC = (");
// for(i=0;i<count*2+1;i++){
//// printf("C[%d]=%d ,",i,C[i]);
// printf("%d ",C[i]);
// }printf(")");
// <09><><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD><6E>
// printf("\nA<6E>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<>Ӥ<EFBFBD><D3A4><EFBFBD>\n",A[0]);
// for(i=1;i<A[0]*2;i++){
// printf("%d^%d ",A[i+1],A[i]);
// i++;
// }
// printf("\nB<6E>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<>Ӥ<EFBFBD><D3A4><EFBFBD>\n",B[0]);
// for(i=1;i<B[0]*2;i++){
// printf("%d^%d ",B[i+1],B[i]);
// i++;
// }
// printf("\nC<6E>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<>Ӥ<EFBFBD><D3A4><EFBFBD>\n",C[0]);
// for(i=1;i<C[0]*2;i++){
// printf("%d^%d ",C[i+1],C[i]);
// i++;
// }
}
int main() {
int A[] = { 5, 6, 6, 4, 5, 2, 3, 1, 3, 0, 2 };
int B[] = { 4, 4, 8, 3, 6, 2, 2, 0, 1 };
int C[13] = { 0 };
int lenA = sizeof A / sizeof A[0];
int lenB = sizeof B / sizeof B[0];
Padd(A, B, C, lenA, lenB);
printf("\nA<EFBFBD>h<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<>Ӥ<EFBFBD><D3A4><EFBFBD>\nA = ( ",A[0]);
output_P(A);
printf(")\nB<EFBFBD>h<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<>Ӥ<EFBFBD><D3A4><EFBFBD>\nB = ( ",B[0]);
output_P(B);
printf(")\nC<EFBFBD>h<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<>Ӥ<EFBFBD><D3A4><EFBFBD>\nC = ( ",C[0]);
output_P(C);
printf(")");
return 0;
}