按降序列印數字及其頻率
給定一個包含 int 元素的陣列,任務是按降序排列元素並找出它們的出現次數。
Input : arr[]={1,1,1,2,2,2,3,3,4,5,6,7,7}
Output : 7 occurs: 2
6 occurs: 1
5 occurs: 1
4 occurs: 1
3 occurs: 2
2 occurs: 3
1 occurs: 3演算法
START Step 1 -> input array with elements in sorting order Step 2 -> calculate size of an array by sizeof(a)/sizeof(a[0] Step 3 -> store size in a variable say en Step 4 -> Loop For i=siz-1 and i>0 and i== IF a[i]!=a[i-1] Set to=en-1 Print a[i] and to Set en=i End Step 5 -> print a[0] and to STOP
示例
#include<stdio.h>
int main() {
int a[]={1,1,1,2,2,2,3,3,4,5,6,7,7};
int siz,i,en,st,to;
siz=sizeof(a)/sizeof(a[0]);
en=siz;
for(i=siz-1;i>0;i--) {
if(a[i]!=a[i-1]) {
to=en-i;
printf("%d occurs: %d
",a[i],to);
en=i;
}
}
to=en;
printf("%d occurs: %d
",a[0],to);
}輸出
如果我們執行以上程式,它會生成以下輸出
7 occurs: 2 6 occurs: 1 5 occurs: 1 4 occurs: 1 3 occurs: 2 2 occurs: 3 1 occurs: 3
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP